MySqlWhere-子查询语法错误

发布于 2024-09-06 10:26:34 字数 485 浏览 6 评论 0原文

这段代码在我有更多经验的 Sqlite 中工作。我不明白这里出了什么问题。如果它有帮助 SELECT 1 FROM Post WHERE body = 'a'; 不会给我一个语法错误,但这确实

select 1 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = 'a' ) ;

code:

INSERT INTO `Post` (
`name`,
...
`date`) select 
@0,
...
@6 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  @7 ) 

error

near 'WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  'text' )' at line 15

This code worked in Sqlite which i have more experience with. I cant figure out whats wrong here. If it helps SELECT 1 FROM Post WHERE body = 'a'; doesnt give me a syntax error but this does

select 1 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body = 'a' ) ;

code:

INSERT INTO `Post` (
`name`,
...
`date`) select 
@0,
...
@6 WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  @7 ) 

error

near 'WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  'text' )' at line 15

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狂之美人 2024-09-13 10:26:34

尝试在您的选择中使用 Dual 作为虚拟表(请参阅此处)。

INSERT INTO `Post` (
`name`,
...
`date`) select 
@0,
...
@6 
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  @7 ) 

从引用的链接:

您可以指定 DUAL 作为
在以下情况下使用虚拟表名
没有引用任何表格:

mysql>从 DUAL 中选择 1 + 1;
-> 2

Try using dual as the dummy table in your select (see here).

INSERT INTO `Post` (
`name`,
...
`date`) select 
@0,
...
@6 
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM Post WHERE body =  @7 ) 

From the referenced link:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文