在mysql中删除某字段重复的记录
如题,问题表结构如下:
思路如下,以name分组选出最小的id,删除id不在此查询的结果的记录,操作以及报错如下:
原因是: MySql中不允许在Update/Delete中使用子查询引用操作目标表。
处理方法:使用临时表
id not in a
a里面存的是 minid
这样,在delete中就没查询目标表了,而是查询了a
通俗理解:爸爸只能管自家儿子,管不了儿子的朋友;
可以看到,第六条记录被成功删除了
如题,问题表结构如下:
思路如下,以name分组选出最小的id,删除id不在此查询的结果的记录,操作以及报错如下:
原因是: MySql中不允许在Update/Delete中使用子查询引用操作目标表。
处理方法:使用临时表
id not in a
a里面存的是 minid
这样,在delete中就没查询目标表了,而是查询了a
通俗理解:爸爸只能管自家儿子,管不了儿子的朋友;
可以看到,第六条记录被成功删除了