gpt4 book ai didi

mysql - 仅当表 1 中存在类似记录时才插入表 2

转载 作者:行者123 更新时间:2023-11-29 00:27:25 26 4
gpt4 key购买 nike

我有 2 个不相似的表。只有在 table1 中找到具有相似值的记录时,是否有某种方法可以将记录插入 table2?我正在用 php pdomysql

做这一切

例如:假设 table1 的值如下:

id
--
1
2
3
4
6

然后:

insert into table2 (id) values (3) // Will work, because id 3 exists in table1
insert into table2 (id) values (7) // Will not work, because id 7 does not exists in table1

现在,我这样做的方法是运行 select count(id) where id = 3 然后如果 id 存在,它将被插入.很麻烦!

有没有一种方法可以做到这一点而不必先执行 select 然后执行 insert

因为这只是开始,如果需要添加外键等内容,我愿意进行更改。

此处运行的唯一查询是insert into table2 (id) values (3)。并且仅当在 table1 中找到 id = 3 时才需要工作。值 3 由用户提供。

最佳答案

如果 IDTable1 中是唯一的,这将起作用:

INSERT INTO Table2 (ID)
SELECT ID
FROM Table1
WHERE ID = 3;

如果 Table1 中存在 ID=3,您将插入一行。如果没有,则不会插入任何内容。

如果 IDTable1 中不是唯一的,只需将 DISTINCT 添加到 SELECT 中:

INSERT INTO Table2 (ID)
SELECT DISTINCT ID
FROM Table1
WHERE ID = 3;

关于mysql - 仅当表 1 中存在类似记录时才插入表 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18335355/

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