问个sql语句

jieao111 2014-09-29 03:47:55
update test set source=11 where md5= (select md5 from test where source=18 limit 0,1)

报错,You can't specify target table 'test' for update in FROM clause


这个怎么解决
...全文
215 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
curvy 2014-10-01
  • 打赏
  • 举报
回复
不太会,帮顶
ayzen1988 2014-09-30
  • 打赏
  • 举报
回复


select md5 into @md5 from test where source=18 limit 0,1;
update test set source=11 where md5= @md5;

ACMAIN_CHM 2014-09-29
  • 打赏
  • 举报
回复
update test a, (select md5 from test where source=18 limit 0,1) b set a.source=11 where a.md5=b.md5 这是MYSQL语法限制。改为如上用JOIN

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧