将唯一值插入数据库PGSQL/MSSQL

Rum*_*ser 2 sql sql-server postgresql not-exists insert-into

我正在尝试使用插入到不存在的地方在MSSQL和Postgresql数据库中插入唯一记录.但是我收到的语法错误不正确,如下所示.我究竟做错了什么?

INSERT INTO settings (id, title, description)
VALUES  (1, 'imageHeight', 'Image Height')
WHERE NOT EXISTS (Select * from settings where id = 1);
Run Code Online (Sandbox Code Playgroud)

错误: [Macromedia] [SQLServer JDBC驱动程序] [SQLServer]关键字"WHERE"附近的语法不正确.

swa*_*eck 5

试试这个:

INSERT INTO settings (id, title, description)
    SELECT 1, 'imageHeight', 'Image Height'
        WHERE NOT EXISTS (SELECT 1 FROM settings WHERE id = 1);
Run Code Online (Sandbox Code Playgroud)

sql server sql小提琴

postgresql sql小提琴

WHERE是对结果的过滤器,通常与INSERT操作无关.