そのため、名前がまだテーブルに「存在」していない場合、つまり重複したくない場合にのみ、特定のテーブルに挿入したい挿入をたくさん行っています。私は今、このようにアプローチしています:
def create_artist(artist_name):
artistid = has_artist(artist_name)
if not artistid:
sql['cursor'].execute("INSERT INTO artists VALUES (NULL, ?)", (artist_name,))
artistid = has_artist(artist_name)
return artistid[0]
def has_artist(artist_name):
sql['cursor'].execute("SELECT id FROM artists WHERE artist_name = ?", (artist_name,))
return (sql['cursor'].fetchone())
基本的に、テーブルに同じ名前のアーティストが存在する場合は検索し、存在しない場合は挿入し、そうでない場合は検索結果を返します。これを行うためのより良い方法が必要です。このプロセス全体をクエリに移動して、これをすべてSQLに移動できるようにすることは可能ですか?