假设我有一个.yml
文件,其中包含一些数据:
- id: 1
cool_data: 124
- id: 2
cool_data: 178
- id: 3
cool_data: 101
...
考虑到所有id
值代表数据库中的现有记录,如何批量导入信息(可能在几个语句中),而是为每个数据点发出UPDATE
个查询? / p>
答案 0 :(得分:1)
您应该能够将INSERT ... ON DUPLICATE KEY UPDATE
语法与VALUES()
函数结合使用:
INSERT INTO table_name (id, cool_data)
VALUES
(1, 124),
(2, 178),
(3, 101),
...
ON DUPLICATE KEY
UPDATE cool_data = VALUES(cool_data)
当然,如果主键值不存在,这实际上会INSERT。