mysql 出现You can't specify target table for update in FROM clause错误的解决方法

2022/1/17 19:09:29

本文主要是介绍mysql 出现You can't specify target table for update in FROM clause错误的解决方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mysql出现You can’t specify target table for update in FROM clause 这个错误的意思是不能在同一个sql语句中,先select同一个表的某些值,然后再update这个表。

然后执行将每个用户第一条消息的内容更新为Hello World

 

 

因为在同一个sql语句中,先select出message表中每个用户消息的最小id值,然后再更新message表,因此会出现 ERROR 1093 (HY000): You can’t specify target table ‘message’ for update in FROM clause 这个错误。

 

 解决方法:select的结果再通过一个中间表select多一次,就可以避免这个错误(包括delete也不行)

where条件后修改

 

 

 

 

 

注意,只有mysql会有这个问题,mssql与oracle都没有这个问题。

————————————————
版权声明:本文为CSDN博主「傲雪星枫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fdipzone/article/details/52695371



这篇关于mysql 出现You can't specify target table for update in FROM clause错误的解决方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程