【发布时间】:2016-01-05 03:23:44
【问题描述】:
解决此错误的其他问题似乎都不适合我。我的查询是:
IF NOT EXISTS (SELECT 1 FROM Configuration WHERE key = 'CookieCount')
BEGIN
INSERT INTO Configuration (key, value)
VALUES ('CookieCount', '0')
END
我的错误信息是:“无法准备语句(“IF”附近的 1:语法错误)”
我在 Postgres 中有这个工作:http://sqlfiddle.com/#!15/b14ef/2/0 但这在 SQLite 中不起作用,我需要它与两者一起使用。
【问题讨论】:
-
SQLite 没有像
IF和BEGIN这样的过程 SQL 系统。不过,为此,您可能可以使用INSERT ... SELECT和WHERE条件来检查密钥是否存在。 -
您的问题中显示的代码也不会在 Postgres 中运行(也不是您在 SQLFiddle 中的代码)。