这段代码在我有更多经验的 Sqlite 中工作。我不知道这里出了什么问题。如果它有帮助,SELECT 1 FROM Post WHERE body = 'a';
不会给我语法错误,但这确实是
select 1 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = 'a' ) ;
代码:
INSERT INTO `Post` (
`name`,
...
`date`) select
@0,
...
@6 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = @7 )
错误
near 'WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = 'text' )' at line 15
最佳答案
尝试在您的选择中使用 dual 作为虚拟表(参见 here)。
INSERT INTO `Post` (
`name`,
...
`date`) select
@0,
...
@6
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = @7 )
来自引用的链接:
You are allowed to specify DUAL as a dummy table name in situations where no tables are referenced:
mysql> SELECT 1 + 1 FROM DUAL; -> 2
关于MySql Where-Subquery语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075627/