У меня есть инструкция INSERT с инструкцией SELECT "ON DUPLICATE Key". Я хочу значение инструкций INSERT в предложении WHERE инструкции SELECT.
Вот пример, который я попытался, но не смог получить значение вставки.
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));
Я думаю, вы хотите VALUES()
. Вы должны указать свои столбцы, поэтому я думаю, что вы хотите:
INSERT INTO table2 (a, b, c)
VALUES (a, b, c),
(a1, b1, c1),
(a2, b2, c3)
ON DUPLICATE KEY UPDATE c = VALUES(c);