sql语法,如果存在

时间:2010-07-13 21:12:48

标签: sql mysql mysql-error-1064

为什么我会收到错误:

#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 

查询:

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

由于

4 个答案:

答案 0 :(得分:6)

IF EXISTS仅适用于存储过程。在存储过程之外,IF()是一个带有3个参数的函数。正确的用法是

SELECT IF(EXISTS(SELECT `column` FROM `table` WHERE `id` = `1`), 1, 0);

答案 1 :(得分:0)

尝试使用

Declare @ID Integer
Select @ID=id From mytable where id=1
IF @ID is not null    OR  IF @ID > 0
Begin
....
End

答案 2 :(得分:0)

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

如果EXISTS(...)做某事

答案 3 :(得分:0)

IF EXISTS在MySQL中没有任何意义。 有关用法,请参阅MySQL文档中的subqueries with EXISTS or NOT EXISTS

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