所以我做了很多插入,只有当名称在表中不“存在”时,我才想插入到某个表中,即我不想有任何重复。我现在正在以这种方式接近它:
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 中?