为什么SELECT COUNT(*)上的MySQL if语句不起作用?

时间:2014-08-11 14:54:26

标签: mysql

我有一个.bat文件,它按如下方式执行SQL文件。

目的是如果在表中找到记录,则不会执行任何操作,而如果表为空,则会插入一些记录。

BEGIN 
  DECLARE rowCount INT; 
  SELECT count(*) FROM `martin1` INTO rowCount;
  IF rowCount <= 5 THEN

  END IF;
END;

但是当我执行它时,会出现错误。我尝试删除DECLARE,但即使对于(IF SELECT COUNT(*)...>0),仍然存在错误。

错误是,

  

第1行的错误1064(42000):您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第2行的“DECLARE rowCount INT”附近使用正确的语法

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

试试这种方式

BEGIN 
  DECLARE rowCount INT; 
  SELECT count(*) INTO rowCount FROM `martin1`
  IF rowCount <= 5 THEN

  END IF;
END;

And have a look at this