0
私は必ずしもユニークな説明ではないリストから説明のテーブルを作成しています。私は、テーブルには別個の説明しか含まれないようにしたいので、テーブルに説明を挿入する際に、それらがすでに存在するかどうかを確認する必要があります。 (簡体字)私のコードは次のようにのようなものになります。Pythonのsqlite3:テーブルに挿入するWHERE NOT EXISTS、using?代入パラメータ
cur.execute(''' CREATE TABLE descriptions
(id INTEGER PRIMARY KEY AUTOINCREMENT, desc TEXT)''')
descripts = ["d1", "d2", "d3", "d4", "d3", "d1", "d5", "d6", "d7", "d2"]
cur.executemany('''
INSERT INTO descriptions(desc)
VALUES (?)
WHERE NOT EXISTS (
SELECT *
FROM descriptions as d
WHERE d.desc=?)
''', zip(descripts, descripts))
結果はOperationalError: near "WHERE": syntax error
ですが、私は私が間違っているつもりだ場所を正確にはわかりません。
ちょうど注:これはPythonでset()
構造体を使用して解決できることがわかりましたが、学術的な理由からこれは許可されていません。
おかげ