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"附近的语法不正确.
试试这个:
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)
WHERE是对结果的过滤器,通常与INSERT操作无关.