4

为什么我收到此错误:

#1064 - You have an error in your SQL syntax;  
check the manual that corresponds to your MySQL server version 
for the right syntax to use near 
'IF EXISTS(SELECT id FROM mytable WHERE id = '1')' at line 1 

我的 SQL 查询:

IF EXISTS(SELECT id FROM mytable WHERE id = '1')

谢谢。

4

4 回答 4

8

IF EXISTS仅适用于存储过程。在存储过程之外,IF()是一个接受 3 个参数的函数。正确使用将是

SELECT IF(EXISTS(SELECT `column` FROM `table` WHERE `id` = `1`), 1, 0);
于 2010-07-13T23:29:40.743 回答
0

尝试使用

Declare @ID Integer
Select @ID=id From mytable where id=1
IF @ID is not null    OR  IF @ID > 0
Begin
....
End
于 2010-07-13T21:16:40.820 回答
0

现在不在 MySQL 机器上,但它看起来像它,因为语句不完整,如果 id 存在,您需要告诉它该怎么做。

IF EXISTS(...)做某事

于 2010-07-13T21:16:50.407 回答
0

IF EXISTS在 MySQL 中没有任何意义。请参阅MySQL 文档中关于使用EXISTS 或 NOT EXISTS 的子查询。

基本上,您需要在语句中使用它,而不仅仅是像逻辑块一样

于 2010-07-13T21:18:58.187 回答