Unknown table ‘achievement’ in MULTI DELETE
在mysql中多表联合删除时,表别名只能在sql中表关联部分声明。
如果你为一个表声明了别名,当你指向这个表的时候,就必须使用这个别名。
例如:
delete achievement,student,user from user as u
inner join achievement as a on a.achievement_studentid=u.U_id
inner join student as s on s.student_id=u.U_id and s.student_classid='20210504'
where u.U_id=10
这里的三张表achievement,student,user都没有使用声明了的别名
解决办法:
delete a,s,u from user as u
inner join achievement as a on a.achievement_studentid=u.U_id
inner join student as s on s.student_id=u.U_id and s.student_classid='20210504'
where u.U_id=10