mysql - 在单个查询中插入多行并更新现有的

标签 mysql insert-update

是否可以在单个查询中插入多行,但同时检查记录是否存在并更新现有记录?

我必须避免 REPLACE INTO,因为我的表有主键和唯一键。

最佳答案

我不确定在查询中将 ON DUPLICATE KEY 放在哪里?

insert into mytable (A, B C) values 
('a','b',1),
('c','d',2),
('e','f',3) ON DUPLICATE KEY UPDATE A = VALUES(A), B = VALUES(B), C = VALUES(C)

这是解决方案:

insert into mytable (A, B C) values 
('a','b',1),
('c','d',2),
('e','f',3) ON DUPLICATE KEY UPDATE A = VALUES(A), B = VALUES(B), C = VALUES(C)

谢谢大家!

关于mysql - 在单个查询中插入多行并更新现有的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241471/

相关文章:

python - 日期时间选择器 : how to set the min/max date based on SQL database

mysql - 优化其他连接的 select 语句内的 union join

mysql - 根据另一个表中的列更新表中的列。

mysql - 为什么我的 `INSERT ... ON DUPLICATE KEY UPDATE` 中有 2 行受到影响?

PHP mysql 数据库没有并行更新

mysql - 从第二个表更新查询 mysql

mysql DATE() 函数

mysql - 动态自引用多对多关系

java - MySQL简单查询错误

sql-server - 如果存在 UPDATE else INSERT 对于表的每一行