mysql报unknown table in mulit delete错的原因和解决办法
Posted 彩虹の你
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql报unknown table in mulit delete错的原因和解决办法相关的知识,希望对你有一定的参考价值。
今天写一个多表连接删除的DELETE语句,在执行的时候发现报错:unknown table in mulit delete,这里记录下原因。
原来报错的DELETE语句:
delete sys_project from sys_project as aa left join ( select min(id) as id from sys_project group by sysCode ) as bb on aa.id = bb.id where bb.id is null
要注意的是,这样的语法在SQL Server是支持的,并不会报错。
实际上,这是因为mysql限制了,如果你为一个表指定了别名,那么当你再次使用这个表的时候,必须通过别名来使用该表。在上面的DELETE语句中,我给sys_project指定了别名aa,可是之后再次使用sys_project表的时候却没有通过别名aa去访问该表,因此MySQL就会报出这个在删除多行时找不到表的错误。
修改的方法只要将sys_project表的直接使用改为使用别名aa访问即可:
delete aa from sys_project as aa left join ( select min(id) as id from sys_project group by sysCode ) as bb on aa.id = bb.id where bb.id is null
这就是MySQL报【unknown table in mulit delete】错的原因和解决方法。
"很多时候我们是因为害怕失去,才不敢去拥有,然而有生之年,往往是一边得到,一边失去。"
以上是关于mysql报unknown table in mulit delete错的原因和解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Mysql Workbench导出数据库时报 Unknown table ‘column_statistics‘ in information_schema (1109)
Mysql修改用户密码报错ERROR 1054 (42S22): Unknown Column 'Password' In 'Field List'解决办法
MySQL 报错ERROR 1054 (42S22): Unknown column 'plugin' in 'mysql.user'
文件上传报错:Unknown: file created in the system's temporary directory
NodeJs报SequelizeDatabaseError Unknown column ‘created_at‘ in ‘field list‘解决方法
NodeJs报SequelizeDatabaseError Unknown column ‘created_at‘ in ‘field list‘解决方法