2017-04-07 55 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