PostgreSQL中没有的EXISTS会出现语法错误

Nyx*_*nyx 6 sql postgresql postgresql-9.1

当尝试使用该WHERE NOT EXISTS子句来防止在列中添加具有重复值的行时age,我收到错误syntax error at or near "WHERE".

为什么会抛出语法错误?我正在使用Postgresql 9.1.

SQL

INSERT INTO live.users ("website", "age") 
values ('abc', '123')
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
Run Code Online (Sandbox Code Playgroud)

错误

ERROR:  syntax error at or near "WHERE"
LINE 6: WHERE NOT EXISTS (SELECT age FROM live.users W...
Run Code Online (Sandbox Code Playgroud)

Dan*_*ité 27

改为:

INSERT INTO live.users ("website", "age") 
SELECT 'abc', 123
WHERE NOT EXISTS (SELECT age FROM live.users WHERE age = 123);
Run Code Online (Sandbox Code Playgroud)