【发布时间】:2015-05-29 10:47:29
【问题描述】:
我想用 python 脚本在 postgres 数据库中插入一些值, 但是当我用下面的代码尝试它时,我在第一个 IF 处遇到了语法错误。
sql_string = "BEGIN IF (NOT EXISTS(SELECT * FROM table WHERE nm=name))
BEGIN INSERT INTO table(nm, nb)
VALUES (%s, %s) END END"
cur.execute(sql_string, (name, number))
如果有人有想法会很好。 谢谢:)
【问题讨论】:
-
SQL 中没有
IF(...)。将条件放在 where 子句中。 :INSERT INTO the_table(column_list) value_list WHERE NOT EXISTS (select 1 from same_table WHERE same_condition) -
该链接指向不同的数据库引擎。
-
@Dan Bracuk 这是关于 PostgreSQL 的。使用 psycopg2 从 Python 访问。
标签: python sql postgresql psycopg2