我有一个INSERT语句和SELECT语句“ ON DUPLICATE键”。我想要SELECT语句的WHERE子句中的INSERT语句的值。
这是我尝试的示例,但无法获取insert的值。
INSERT INTO table2 VALUES (a, b, c), (a1, b1, c1), (a2, b2, c3)
ON DUPLICATE KEY UPDATE c = (SELECT c from table1 WHERE table1.a = VALUES(table2.a));
答案 0 :(得分:0)
我认为您想要VALUES()
。您应该指定列,所以我认为您想要这样做:
INSERT INTO table2 (a, b, c)
VALUES (a, b, c),
(a1, b1, c1),
(a2, b2, c3)
ON DUPLICATE KEY UPDATE c = VALUES(c);