Quando si cerca di utilizzare la clausola WHERE NOT EXISTS
per impedire l'aggiunta di una riga con un valore duplicato nella colonna age
, ottengo l'errore syntax error at or near "WHERE"
.DOVE NON esiste in PostgreSQL dà errore di sintassi
Perché ha generato un errore di sintassi? Sto usando Postgresql 9.1.
SQL
INSERT INTO live.users ("website", "age")
values ('abc', '123')
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
errore
ERROR: syntax error at or near "WHERE"
LINE 6: WHERE NOT EXISTS (SELECT age FROM live.users W...
Se vuoi impedire i valori duplicati in una colonna, sarebbe meglio aggiungere un 'vincolo univoco' a quella colonna. (ALTER TABLE live.users ADD CONSTRAINT age_unique UNIQUE (età)) –