2017-04-07 19 views
0

テーブルに行を挿入するPythonスクリプトがあります。私はそれが重複行を削除するか、行が存在する場合はINSERTを無視したい。これまでに試したこと:python sqlite3テーブル行から削除

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

表 "server"は、単一の列 "sites"です。これはウェブサイトの表です。それは何の誤りも投げていません。重複を削除しないだけです。

答えて

1

sitesとの比較は、重複がこの列に同じ値を持つため、それ自身を助けません。

独自の他の列を使用する必要があります。この場合、rowidを使用できます。

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

これはそれでした。ありがとう。 – Rthomas529

関連する問題