【发布时间】:2016-05-03 14:17:44
【问题描述】:
我有一个带有 select 语句的更新查询,它单独工作。它正在将它用于无法正常工作的更新。
update data set data.id = (select nid from node inner join data on node.title = data.name);
我得到了错误
“您不能在 FROM 子句中指定目标表‘数据’进行更新”
所以,经过一番挖掘,我发现我可以写另一个 select 语句:
update data set data.id = (select nid from(select nid from node inner join data on node.title = data.name) AS temptable);
我得到了错误
"子查询返回多于 1 行"
所以在更多挖掘之后,我添加了一个“ANY”,因为这是常见的建议:
update data set data.id = (select nid from ANY (select nid from node inner join data on node.title = data.name) AS temptable);
得到
“您的 SQL 语法有错误;请查看手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 附近'(从node.title = biblio_上的节点内部连接数据中选择nid 在第 1 行“
我错过了什么?
【问题讨论】:
标签: mysql sql-update inner-join