插入具有重复键和不同更新的多个值
Insert multiple values with duplicate key and different updates
我可以在 mykey(主键)存在时更新我的 table,或者在 mykey 不存在时插入,使用此查询:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49) ON DUPLICATE KEY UPDATE hits=hits+49;
工作正常。
现在我不知道如何在一个查询中添加多个值。
我要的是这个:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49) ON DUPLICATE KEY UPDATE hits=hits+49,
(NULL, 2, 2, 56, 11) ON DUPLICATE KEY UPDATE hits=hits+11,
(NULL, 3, 3, 81, 14) ON DUPLICATE KEY UPDATE hits=hits+14;
但这不起作用。
是否可以在一个查询中像这样插入或更新多个值?
最后执行一次 ON DUPLICATE KEY UPDATE:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49),
(NULL, 2, 2, 56, 11),
(NULL, 3, 3, 81, 14)
ON DUPLICATE KEY UPDATE hits=hits+VALUES(hits);
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49),
(NULL, 2, 2, 56, 11),
(NULL, 3, 3, 81, 14)
ON DUPLICATE KEY UPDATE hits=hits+VALUES(hits);
我可以在 mykey(主键)存在时更新我的 table,或者在 mykey 不存在时插入,使用此查询:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49) ON DUPLICATE KEY UPDATE hits=hits+49;
工作正常。 现在我不知道如何在一个查询中添加多个值。 我要的是这个:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49) ON DUPLICATE KEY UPDATE hits=hits+49,
(NULL, 2, 2, 56, 11) ON DUPLICATE KEY UPDATE hits=hits+11,
(NULL, 3, 3, 81, 14) ON DUPLICATE KEY UPDATE hits=hits+14;
但这不起作用。 是否可以在一个查询中像这样插入或更新多个值?
最后执行一次 ON DUPLICATE KEY UPDATE:
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49),
(NULL, 2, 2, 56, 11),
(NULL, 3, 3, 81, 14)
ON DUPLICATE KEY UPDATE hits=hits+VALUES(hits);
INSERT INTO customers (id, customer_id, page_id, mykey, hits)
VALUES
(NULL, 1, 1, 23, 49),
(NULL, 2, 2, 56, 11),
(NULL, 3, 3, 81, 14)
ON DUPLICATE KEY UPDATE hits=hits+VALUES(hits);