错误如下:
错误代码: 1093
You can't specify target table 'student_info' for update in FROM clause
意思是:对表进行修改的时候不能把这个表作为修改条件。
解决方案:在修改表与查询表之间再加一层查询。
例如:
/*错误SQL*/
DELETE FROM student_info WHERE id IN(
SELECT id FROM `student_info`)
/*正确SQL*/
DELETE FROM student_info WHERE id IN(
SELECT a.id FROM
(SELECT id FROM `student_info`)a
)
提示:该错误常见于数据去重操作,具体可参考这篇博客(MySQL重复数据的相关操作(包含表不存在主键的情况))。