Я використовую 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"
Як я можу написати "INSERT, якщо цей рядок вже не існує" 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
Але, по-перше, чи є це надмір для того, що мені потрібно, по-друге, як я можу виконати один із них як простий рядок?