gpt4 book ai didi

MYSQL - 多个值插入到另一个表中不存在的表中

转载 作者:行者123 更新时间:2023-11-30 21:36:41 25 4
gpt4 key购买 nike

我有 PHP 数组(数组有多个值),我想将该数据添加到表中,但在插入表之前检查值是否存在于另一个表中,如果值在另一个表中获得则跳过该值。

示例:

INSERT INTO table1('column1','column2','column3') VALUES
('val11','val11','val11'),
('val12','val12','val12')
WHERE NOT EXIST
(SELECT * FROM table2 WHERE table2.column1 = VALUES(column1) AND
table2.column2 = VALUES(column2) AND table2.column3 = VALUES(column3)

我走在正确的道路上还是有更好的方法?

谢谢

米腾

最佳答案

您需要使用 INSERT ... SELECT实现此结果的语法。因为您有多个行,所以您必须将数据行 UNION 到一个派生表中,然后检查该表中的值是否不存在于 table2 中:

INSERT INTO table1 (column1, column2, column3)
SELECT *
FROM (SELECT 'val11' AS column1, 'val12' AS column2, 'val13' AS column3
UNION
SELECT 'val21', 'val22', 'val23') v
WHERE NOT EXISTS (SELECT *
FROM table2 t2
WHERE t2.column1 = v.column1
AND t2.column2 = v.column2
AND t2.column3 = v.column3)

Demo on dbfiddle

关于MYSQL - 多个值插入到另一个表中不存在的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53592712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com