gpt4 book ai didi

mysql - 当另一个表中不存在一个值时插入到表中?

转载 作者:可可西里 更新时间:2023-11-01 07:56:23 27 4
gpt4 key购买 nike

我有两个表,它们有相同的列 id,但是 table1table2 有更多的 id >。现在我想在table1中找到table2中不存在的那些ida,并将它们inserttable2,并设置它们的count值为0。

我尝试了以下代码,但它显示syntax error, unexpected IF

if not exists(select * from table1 where table1.id = table2.id)
begin
insert into table2 (id, count) values (table1.id, 0)
end

最佳答案

您可以使用单个 insert 来完成此操作。 . .选择语句:

insert into table2(id, count)
select id, 0
from table1 t1
where not exists (select 1 from table2 t2 where t2.id = t1.id);

如果您在 if 上遇到错误(if 只允许在过程/函数/触发代码中使用),我猜您正在使用 MySQL。但是即使 if 在允许的情况下,exists 中的查询引用了 table2.id 并且没有 table2 from 子句。所以这将是下一个错误。

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

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