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

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

 

 

因为在同一个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 出现You can't specify target table for update in FROM clause错误的解决方法

 

 

 

 

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

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

上一篇:多进程拷贝文件(不拷贝文件夹)


下一篇:LINUX使用关键字进行查找日志