Podczas próby użycia klauzuli WHERE NOT EXISTS
, aby zapobiec dodawaniu wiersza o zduplikowanej wartości w kolumnie age
, pojawia się błąd syntax error at or near "WHERE"
.GDZIE NIE ZNAJDUJE SIĘ w PostgreSQL podaje błąd składni
Dlaczego spowodował błąd składni? Używam PostgreSQL 9.1.
SQL
INSERT INTO live.users ("website", "age")
values ('abc', '123')
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
Błąd
ERROR: syntax error at or near "WHERE"
LINE 6: WHERE NOT EXISTS (SELECT age FROM live.users W...
Jeśli chcesz zapobiec powielaniu wartości w kolumnie, byłoby lepiej dodać "unikalne ograniczenie" do tej kolumny. (ALTER TABLE live.users DODAJ CONSTRAINT age_unique UNIQUE (wiek)) –