gpt4 book ai didi

mysql - 使用 select 子句设置失败

转载 作者:行者123 更新时间:2023-11-29 23:32:06 25 4
gpt4 key购买 nike

我有一个表 1,其中包含许多实体,另一个表(表 2)有 2 列:表 1 的主键和第二列。表 1 中的实体具有由表 2 中的第二列分配的其他几个实体(也来自表 1)

例子:

 id | type | ownerId
1 | bigObject | 1
2 | littleObj | 3
3 | littleObj | 3

id | key
1 | 2
1 | 3

我想将所有小对象的ownerId更新为大对象的ownerId。
我尝试过的:

UPDATE entity
SET ownerid = (SELECT ownerid
FROM entity
WHERE id = 1)
WHERE id IN (SELECT key
FROM table_b
WHERE id = 1)
;

但它说你不能在 FROM 子句中指定目标表“实体”进行更新

最佳答案

您必须使用 MySQL,因为这会生成错误。请改用此表格:

UPDATE entity e CROSS JOIN
(SELECT ownerid
FROM entity
WHERE id = 1
) e1
SET e.ownerid = e1.ownerid
WHERE id IN (SELECT key
FROM table_b
WHERE id = 1)

关于mysql - 使用 select 子句设置失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26507855/

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