Wenn Sie versuchen, die WHERE NOT EXISTS
Klausel zu verwenden, um das Hinzufügen einer Zeile mit einem doppelten Wert in der Spalte age
zu verhindern, erhalte ich den Fehler syntax error at or near "WHERE"
.WHERE NICHT EXISTIERT in PostgreSQL gibt Syntaxfehler
Warum hat es einen Syntaxfehler ausgelöst? Ich benutze Postgresql 9.1.
SQL
INSERT INTO live.users ("website", "age")
values ('abc', '123')
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
Fehler
ERROR: syntax error at or near "WHERE"
LINE 6: WHERE NOT EXISTS (SELECT age FROM live.users W...
Wenn Sie doppelte Werte in einer Spalte verhindern möchten, wäre es besser, dieser Spalte eine eindeutige Einschränkung hinzuzufügen. (ALTER TABLE live.users ADD CONSTRAINT age_unique EINZIGARTIG (Alter)) –