gpt4 book ai didi

mysql - 在mysql中批量插入和更新

转载 作者:行者123 更新时间:2023-11-29 03:28:56 25 4
gpt4 key购买 nike

我正在尝试在我的表中进行一些批量插入,但它应该可以处理重复值。如果有重复那么它应该更新行而不是更新它。

我的表是:user(id, name, url) where id is 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 条记录都已经存在于我的表中,并且只有要更新的 url,我应该怎么做?

是否可以像这样使用批量插入来更新行?

最佳答案

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 ' , ),

关于mysql - 在mysql中批量插入和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32777081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com