У меня есть следующий SQL запрос, который будет только вставить, если он уже не существует в таблицеошибка синтаксиса Postgresql для которых не существует
INSERT INTO message_log (message, from_id, to_id, match_id, unix_timestamp, own_account) VALUES('hi', 'tom', 'tom', '55640ec48a2aecab0e3c096c556f5435f4bb054c68930040', 33333, TRUE)
WHERE NOT EXISTS (SELECT 1 FROM message_log WHERE message = 'hi' AND from_id = 'tom' AND to_id = 'tom' AND match_id = '55640ec48a2aecab0e3c096c556f5435f4bb054c68930040' AND unix_timestamp = 33333)
Однако я получаю следующую ошибку
ERROR: syntax error at or near "WHERE"
LINE 2: WHERE NOT EXISTS (SELECT 1 FROM message_log where message = ...
^
Что Я поступаю неправильно?
Там нет 'SELECT' в запросе. – joop
Это не то, что вы можете сделать. По крайней мере, не так. Можете ли вы объяснить, что вы пытаетесь выполнить с помощью инструкции 'INSERT'? – JNevill
@JNevill Я хочу, чтобы строка была вставлена только в том случае, если она еще не существует в таблице – Arya