我有一个将行插入表中的python脚本。我希望它删除重复行或如果行存在则忽略INSERT。到目前为止我尝试了什么:
#delete duplicate entries
c.execute('''DELETE FROM server WHERE sites NOT IN
(SELECT MIN(sites) sites FROM server GROUP BY sites)''')
表“server”是单列“sites”。这是一个网站表。它没有抛出任何错误。它只是不删除重复项。
答案 0 :(得分:1)
与sites
本身进行比较无济于事,因为重复项在此列中具有相同的值。
您必须使用其他一些独特的列。在这种情况下,您可以使用rowid:
DELETE FROM server
WHERE rowid NOT IN (SELECT min(rowid)
FROM server
GROUP BY sites);