gpt4 book ai didi

mysql - 将内部连接和 where 子句添加到 INSERT INTO ON DUPLICATE KEY UPDATE

转载 作者:可可西里 更新时间:2023-11-01 08:39:43 24 4
gpt4 key购买 nike

我从这个 INSERT INTO ON DUPLICATE KEY UPDATE MySQL 语句开始。

INSERT INTO Table1 ( field1, field2)
VALUES (1, 2)
ON DUPLICATE KEY UPDATE field1 = 1, field2 = 2

然后,我遇到了“外键约束失败”的错误。

我意识到我需要添加另一个 WHERE 子句条件来满足具有内部连接的外键约束。

我试过这样的;

INSERT INTO Table1 ( field1, field2)
Inner Join Table2
ON Table2.id = Table1.field_id
VALUES (1, 2)
ON DUPLICATE KEY UPDATE field1 = 1, field2 = 2
WHERE Table2.addr='123456'

我收到语法错误。这条 MySQL 语句的正确写法是什么?

最佳答案

我不确定你到底想做什么。但是,您可以将任何 select 语句放在 insert 中。 . . select 语句并且仍然使用 on duplicate key update。例如:

insert into Table1(field1, field2)
select 1, 2
from table1 t1 join
table2 t2
on t2.id = t1.field_id
where t2.addr = '123456'
on duplicate key update field1 = 1, field2 = 2;

关于mysql - 将内部连接和 where 子句添加到 INSERT INTO ON DUPLICATE KEY UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38201283/

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