我已经设置了这个查询
INSERT INTO pa_users (fname,lname,email,phone,fbid) VALUES ?
ON DUPLICATE KEY UPDATE fbid=VALUES(fbid),
fname= VALUES(fname),lname= VALUES(lname),email= VALUES(email),phone= VALUES(phone)
我正在传递这个对象
{
fname: 'Demo',
lname: 'User',
email: 'demo@facebook.com',
phone: '6352417890',
fbid: 'KHFDALJHGJDGWKGKDFDAFAJKLGEKLQAW'
}
运行此查询时出现 SQL 语法错误。
注意:fbid 不是 pk。
错误:
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: 'You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use near
\'`fname` = \'Demo\', `lname` = \'user\', `email` = \'user@facebook.com\',
`phone` = \'63\' at line 1',
sqlState: '42000',
index: 0,
sql: 'INSERT INTO pa_users (fname,lname,email,phone,fbid) VALUES `fname` =
\'Demo\', `lname` = \'user\', `email` = \'user@facebook.com\', `phone` =
\'6352417890\', `fbid` = \'KHFDALJHGJDGWKGKDFDAFAJKLGEKLQAW\'\n ON
DUPLICATE KEY UPDATE fbid=VALUES(fbid),\n fname=
VALUES(fname),lname= VALUES(lname),email= VALUES(email),phone=
VALUES(phone)' }
最佳答案
尝试拆分您的查询,例如
INSERT INTO table(a, b) values ('fgfg', 'fgfg') ON DUPLICATE KEY UPDATE
fbid=VALUES(fbid);
关于mysql - mysql 中 ON DUPLICATE KEY UPDATE 查询中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54474452/