2

我正在尝试使用 insert into where not exists 在 MSSQL 和 Postgresql DB 中插入唯一记录。但是我收到了一个不正确的语法错误,如下所示。我究竟做错了什么?

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

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

4

1 回答 1

5

试试这个:

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

sql server sql 小提琴

postgresql sql小提琴

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

于 2013-01-30T23:55:34.553 回答