mysql - 更新子查询错误你不能指定目标表
问题描述
我有一个包含两个表(URL 和 VOTE)的数据库。我需要计算 VOTE 中的所有选票并将结果包含在 URL 表中我尝试按如下方式进行操作,但它给了我错误 ** You can't specify target table 'url' for update in FROM 子句**
UPDATE url
set up = (select (SELECT COUNT(*) FROM vote v WHERE v.id = u.id AND v.note = 1 ) as num from url u)
你怎么能这样?
解决方案
我想你只想要一个简单的子查询:
UPDATE url u
SET up = (SELECT COUNT(*)
FROM vote v
WHERE v.id = u.id AND v.note = 1
) ;
我不确定您为什么要url
在子查询中引用。
推荐阅读
- spring-boot - Spring Boot 执行器端点 /prometheus 未列出与 tomcat 相关的指标,例如请求计数
- javascript - React redux 商店没有连接
- javascript - 无法读取 NextJS 上未定义的属性“项目”
- laravel - Graphql:用户错误:预期可迭代,但没有为字段 XXX 找到一个
- c++11 - 条件跳转或移动上的 Valgrind 错误取决于未初始化的值
- java - opensaml 3 中的 HttpMetadataProvider 替换
- c++ - 显示第 25 行的 C++ 代码:字符 5:错误:非 void 函数未在所有控制路径中返回值 [-Werror,-Wreturn-type]
- git - Makefile.bak 到底是什么,它的作用是什么?
- pytorch - pytorch RNN 的输出是什么?
- linux - 键盘键随机停止工作[在键入此行时面临两次]