【发布时间】:2021-02-13 18:39:45
【问题描述】:
已经存在多个询问它的帖子,已经给出了解决方案,并且它们适用于我以前的查询。 但是现在我在同一个表的 UPDATE 中尝试对 SELECT 进行相同的查询,这将不起作用。
这是我尝试过的不同查询:
UPDATE usersDB.random
SET total_partners =
(
SELECT total_partners FROM usersDB.random
WHERE year = 2022
)
WHERE uid = 1
和
UPDATE usersDB.random
SET total_partners =
(
SELECT total_partners
FROM usersDB.random
AS x
WHERE year = 2022
)
WHERE uid = 1
但我每次都会收到此错误消息:
错误代码:1093。您不能指定目标表“随机”进行更新 在 FROM 子句中
相同的查询,但有两个不同的表工作:
UPDATE usersDB.random
SET total_partners =
(
SELECT COUNT(*)
FROM usersDB.partners AS x
)
WHERE (month = MONTH(CURRENT_DATE()) and year = YEAR(CURRENT_DATE())) OR uid = 1
当它是同一张桌子时,我怎样才能让它工作? Mysql的版本是8.0
这是random 表的样子https://i.imgur.com/HYSS5DJ.png
我使用 Mysql Workbench 发送查询
【问题讨论】:
-
@Strawberry 我不确定如何提供可重现的示例,因为您需要创建架构、表等。这就是为什么我提供了一个与那个不工作。我认为这就足够了。
-
你能显示你的表结构吗?因为总的来说,上述所有查询似乎都可以
-
因此我的评论
-
@IdleJatt 我提供了它的截图
标签: mysql sql-update sql-insert mysql-8.0