以下代码的预期行为是,对于每一行,它检查是否存在重复,如果是,则更新而不是插入。它分别为EACH行执行此操作,这意味着查找某个行的副本不会导致后续所有其他行的UPDATE。 UNIQUE键是member_id。
INSERT INTO table
(member_id, member_name, stat1, stat2) VALUES
('1', 'user1', '1411', '1410'),
('15', 'user2', '177', '179'),
('83', 'user3', '517', '832'),
('184', 'user4', '805', '1165'),
('304', 'user5', '708', '705')
ON DUPLICATE KEY UPDATE
stat1 = VALUES(stat1),
stat2 = VALUES(stat2)
然而,这似乎是从找到member_id的重复键的第一刻开始的UPDATE。
E.g。 user2已经存在,因此请执行UPDATE而不是INSERT。但它会对user3,user4,user5进行UPDATE,即使它们可能不存在。这会导致以下错误:
Unknown column 'user3' in 'field list'
如何确保检查EACH行的副本,如果没有重复,请插入?
编辑: 我的查询的更准确的片段:
INSERT INTO reputation_p_month (member_id, member_name, january_2018_rep, acc_january_2018_rep) VALUES
('1', 'GreatJackal', '1411', '1410'),
('15', 'wetletus', '177', '177'),
('83', 'strongandbald', '517', '517'),
('14375', 'Newer', '0', '0'),
('14379', 'RobsenMeister', '0', '0'),
(14405, Griffin, 0, 0)
ON DUPLICATE KEY UPDATE
january_2018_rep = VALUES(january_2018_rep),
acc_january_2018_rep = VALUES(acc_january_2018_rep)
在控制台中出现以下错误:
参数列表之后的Uncaught SyntaxError:missing)
'调试对象:在“字段列表”中更新REP:未知列'Griffin'的记录时出错