2017-04-07 100 views
0

我有一个python脚本插入行到表中。我希望它删除重复的行或者如果该行存在,则忽略INSERT。我到目前为止所尝试的:python sqlite3 DELETE FROM表行如果存在

#delete duplicate entries 
c.execute('''DELETE FROM server WHERE sites NOT IN 
      (SELECT MIN(sites) sites FROM server GROUP BY sites)''') 

表“服务器”是单列“网站”。这是一个网站的表格。它不会抛出任何错误。这只是不删除重复。

回答

1

sites本身没有什么关系,因为重复项在此栏中具有相同的值。

你必须使用一些独特的其他列。在这种情况下,您可以使用rowid

DELETE FROM server 
WHERE rowid NOT IN (SELECT min(rowid) 
        FROM server 
        GROUP BY sites); 
+0

就是这样。谢谢。 – Rthomas529