ベストアンサー
値が存在しない場合にPythonを介してテーブルに挿入する方法SQLiteにすでに存在しますか?
cursor.execute("INSERT INTO author (name) VALUES(?) SELECT * FROM author WHERE NOT EXISTS(SELECT * FROM author)", (aname, ))
仮定:
- iv id =があります
name
列の “848422fd52″>
Blog
値が存在しない場合にPythonを介してテーブルに挿入する方法SQLiteにすでに存在しますか?
cursor.execute("INSERT INTO author (name) VALUES(?) SELECT * FROM author WHERE NOT EXISTS(SELECT * FROM author)", (aname, ))
仮定:
name
列の “848422fd52″> またはPRIMARY KEY
制約、および
name
挿入が必要な場合SQLiteクエリは次のようになります:
INSERT OR IGNORE INTO author (name) VALUES (?)
(SQLite ON CONFLICT句のページを読んで、競合の解決と5つの異なる解決策の選択肢について詳しく理解してください。利用可能— INSERT OR IGNORE
はINSERT ON CONFLICT IGNORE
の単なる構文上の砂糖です。)
name
列に制約がない場合、これを行う最も安全な方法は 2つの個別のクエリ:
SELECT * FROM author WHERE name=?
、一致する行が0で返される場合、
INSERT INTO author (name) VALUES (?)
SQLステートメント自体が間違っているため、*一般的には避ける必要があります
作成者(名前)に挿入
選択しますか?著者から
存在しない場合(名前=?の著者から42を選択)