我正在尝试在我的表中进行一些批量插入,但它应该满足重复值。如果有重复,那么它应该更新行而不是更新它。
我的表是:user(id,name,url),其中id是PK
我试过了:
INSERT INTO `user` (`id`, `name`, `url`)
VALUES
('7656', 'Tom', 'http://user.com/7656'),
('1234', 'Jean', 'http://user.com/1234'),
('8596', 'Pierre', 'http://user.com/8596'),
('2035', 'Somon', 'http://user.com/2035'),
('3685', 'Lola', 'http://user.com/3685')
ON DUPLICATE KEY UPDATE name=VALUES(name), url=VALUES(url)
假设我尝试插入的所有5条记录已经存在于我的表格中,只有更新的网址,我应该怎么做?
是否可以像这样使用批量插入更新行?
答案 0 :(得分:0)
INSERT INTO `table` (a, b, c)
VALUES (?, ?, ?),
VALUES (?, ?, ?),
VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE a = VALUES(a), b = VALUES (b), c = VALUES(c)
你需要每次都设置VALUES。
此外,您构建查询的方式也没问题,但您在第一个值('7656','Tom','http://user.com/7656')中有','额外内容,