2017-04-25 107 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)

相关问题