$sql = {"INSERT IGNORE INTO membership WHERE Member_id= 'A4C1905' (`Name`,`GivenName`,`SpouceName`,`SpouceGiven`,`Address`,`City`,`Prov`,`PostalCode`,`Phone`,`Email`,`Secondary Email`,`Region`,`Year`,`visible`,`Mailing_Info`,`Member_ID`,`LastUpdateDate`,`Payment_Date`,`Payment_Type`,`Payment_Amount`,`Payment_Comment`,`Payment_Year`,`Nonrenreason`) VALUES ('Ruck','John', 'Joan', 'Clint', '2045 Lakeshore Blvd. W. Suite # 3803 ', 'Toronto ', 'ON', 'L0P 1K0', '905-877-9812', '[email protected]', '', 'GPR', '2025', 'N', 'Mr. Clint Adcock','' , '2024-10-14', '2024-10-14', 'Cheque', '50', 'no comment', '2025','ill' )";
得到以下消息,这是由where语句引起的。
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在 'WHERE Member_id= 'A4C1905' (
,Name
,GivenName
,SpouceName
,`Addre' at line 1 附近使用的正确语法SpouceGiven
删除 where 语句,它就可以工作了。 问题需要 where 语句来获取我需要从中复制值的记录。 我知道如果我知道工作地点,这些值可以是“”。
您必须使用
SELECT
查询来获取旧行中的值。
INSERT IGNORE INTO membership
(`Name`,`GivenName`,`SpouceName`,`SpouceGiven`,`Address`,`City`,`Prov`,`PostalCode`,`Phone`,
`Email`,`Secondary Email`,`Region`,`Year`,`visible`,`Mailing_Info`,`Member_ID`,`LastUpdateDate`,
`Payment_Date`,`Payment_Type`,`Payment_Amount`,`Payment_Comment`,`Payment_Year`,`Nonrenreason`,
columns_to_keep)
SELECT 'Ruck','John', 'Joan', 'Clint', '2045 Lakeshore Blvd. W. Suite # 3803 ', 'Toronto ',
'ON', 'L0P 1K0', '905-877-9812', '[email protected]', '', 'GPR', '2025', 'N', 'Mr. Clint Adcock',
'' , '2024-10-14', '2024-10-14', 'Cheque', '50', 'no comment', '2025','ill',
columns_to_keep
FROM membership
WHERE member_id = 'A4C1905'
将
columns_to_keep
替换为您从旧行复制到新行的所有列。