我正在尝试使用插入到不存在的位置在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”附近的语法不正确。
答案 0 :(得分:5)
试试这个:
INSERT INTO settings (id, title, description)
SELECT 1, 'imageHeight', 'Image Height'
WHERE NOT EXISTS (SELECT 1 FROM settings WHERE id = 1);
WHERE
是针对结果的过滤器,通常与INSERT
操作无关。