我想删除mysqldb表中的重复行,其中4列的值相同。如果我还有auto_increment列,我怎么能这样做呢?
ALTER IGNORE TABLE test
ADD UNIQUE INDEX idx_name (col1, col2, col3, col4);
如何在Python中实现这部分代码?
connection = MySQLdb.connect(host='localhost',
user='admin',
passwd='',
db='database1',
use_unicode=True,
charset="utf8")
cursor = connection.cursor()
答案 0 :(得分:0)
假设您的自动增量列名为id 您可以使用not in子句
delete from my_table
where id not IN (
select max(id)
from my_table
group by col1, col2, col3, col4
)
id以这种方式删除所有对于相同的col1,col2,col3,col4具有多个istance的行,并且在db中为每个行放入具有max(id)的行