首先,表A不能删除表A中查出的ID对应的记录,如下:
delete from `test`.duplicateTest where id not in (
select max(id) as id from `test`.duplicateTest as b group by name) ;
这样会报错:ERROR 1093错误。解决办法,创建临时表:
delete from `test`.duplicateTest where id not in (
select id from (select max(id) as id from `test`.duplicateTest as b group by name) as temps);
本文将详细解释如何在SQL查询中遇到ERROR1093错误时,通过创建临时表的方法来解决问题。通过具体实例演示了在删除表中特定ID对应的记录时,直接使用子查询可能导致的错误,并提供了有效的解决方案。

被折叠的 条评论
为什么被折叠?



