如果psycopg2不存在SQL插入

时间:2015-05-29 10:47:29

标签: python sql postgresql psycopg2

我想在一个带有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))

如果有人有想法会很好。 谢谢:))

1 个答案:

答案 0 :(得分:1)

这种方法与数据库无关。

 insert into yourtable
 (field1, field2, etc)
 select distinct value1, value2, etc
 from some_small_table
 where not exists
 (subquery to check for existing records)