MYSQL,多次插入和重复更新
MYSQL, multiple insert and ON DUPLICATE UPDATE
我真的被多个插入值阻塞了,如果存在任何插入值,请进行自定义更新。这是我的查询无效:
INSERT INTO `table` (f1,f2,status) VALUES
(1,5,'on') ON DUPLICATE KEY UPDATE status='off',
(3,2,'on') ON DUPLICATE KEY UPDATE status='off',
(15,20,'on') ON DUPLICATE KEY UPDATE status='off';
有什么解决方案可以做这个查询吗?
谢谢大家
每个 INSERT
只能有一个 ON DUPLICATE KEY
:
INSERT INTO `table`(f1, f2, status)
SELECT 1 ,5, 'on' UNION ALL
SELECT 3, 2, 'on' UNION ALL
SELECT 15, 20, 'on'
ON DUPLICATE KEY UPDATE status = 'off';
(当然,你也可以用VALUES
,我只是更喜欢SELECT
,因为它更通用。)
我真的被多个插入值阻塞了,如果存在任何插入值,请进行自定义更新。这是我的查询无效:
INSERT INTO `table` (f1,f2,status) VALUES
(1,5,'on') ON DUPLICATE KEY UPDATE status='off',
(3,2,'on') ON DUPLICATE KEY UPDATE status='off',
(15,20,'on') ON DUPLICATE KEY UPDATE status='off';
有什么解决方案可以做这个查询吗?
谢谢大家
每个 INSERT
只能有一个 ON DUPLICATE KEY
:
INSERT INTO `table`(f1, f2, status)
SELECT 1 ,5, 'on' UNION ALL
SELECT 3, 2, 'on' UNION ALL
SELECT 15, 20, 'on'
ON DUPLICATE KEY UPDATE status = 'off';
(当然,你也可以用VALUES
,我只是更喜欢SELECT
,因为它更通用。)