2017-04-25 73 views
0

只要該條目尚不存在,我想插入表中。這是我的代碼行:任何人都可以在這裏糾正我的語法?

cursor.execute("INSERT INTO author (name) VALUES(?) SELECT * FROM author WHERE NOT EXISTS (SELECT * FROM author)", (aname,)) 

而且,我不知道,如果這個查詢是正確的,因爲我還沒有機會測試它,原因是我不斷收到一個語法錯誤。

+0

語法錯誤從數據庫或來自Python? –

+0

這裏是錯誤:OperationalError:靠近「SELECT」:語法錯誤 我很新,所以我不確定,但我認爲它來自python。如果有幫助的話,我在jupyter筆記本上運行它 – aperez121

回答

1

我不使用Python,但那看起來像無效的SQL語法。爲INSERT提供值時,可以使用或者「VALUES(...)」「SELECT ...」,但不能同時使用兩者。從描述中我不太確定你的意圖,但是如果作者表中的名稱字段是唯一的,那麼你應該在你的模式中指定它。例如,

create table author(name text unique, ...) 

的,你可以使用類似:

cursor.execute("INSERT OR IGNORE INTO author(name) VALUES(?)", aname) 

(不知道的Python語法,因爲我不使用Python)

相關問題