Bir postgres veritabanına yazmak için Python kullanıyorum:
sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
Ancak bazı satırlarım aynı olduğundan, aşağıdaki hatayı alıyorum:
psycopg2.IntegrityError: duplicate key value
violates unique constraint "hundred_pkey"
'Bu satır zaten yoksa' INSERT 'SQL deyimini nasıl yazabilirim?
Önerilen böyle karmaşık ifadeler gördüm:
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
Ama öncelikle, bu ihtiyacım olan şey için aşırıya kaçıyor mu ve ikincisi, bunlardan birini basit bir dize olarak nasıl yürütebilirim?