我正在使用Python写入postgres数据库:
sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
但是由于我的某些行是相同的,因此出现以下错误:
psycopg2.IntegrityError: duplicate key value
violates unique constraint "hundred_pkey"
如何编写“除非此行已存在,否则请插入” SQL语句?
我看过这样的复杂语句:
IF EXISTS (SELECT * FROM invoices WHERE invoiceid = '12345')
UPDATE invoices SET billed = 'TRUE' WHERE invoiceid = '12345'
ELSE
INSERT INTO invoices (invoiceid, billed) VALUES ('12345', 'TRUE')
END IF
但是,首先,这是否满足我的需要,其次,如何将其中一个作为简单的字符串执行?
HUWWW
相关分类