不能在MySQL中使用IF / ELSE和PRINT语句

时间:2015-05-21 10:30:17

标签: mysql sql if-statement printing

我试图在MySQL中出现条件时打印一些东西。 这是我的代码:

BEGIN

UPDATE president
INNER JOIN election ON president.pres_name = election.candidate
SET yrs_serv = yrs_serv + 4
WHERE election.winner_loser_indic = 'W'
AND election.election_year = (SELECT MAX(election_year) FROM election)

BEGIN
IF (yrs_serv > 4) THEN BEGIN PRINT "warning"
END
END

END

当我运行此操作时,我收到此错误。

  

MySQL:#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在' BEGIN IF(yrs_serv> 4)附近使用正确的语法然后开始打印"警告" END END END'在第7行

这是一个程序。我无法解决这个问题。如果我不尝试使用IF语句,则代码可以使用。

1 个答案:

答案 0 :(得分:1)

首先,您在;末尾遗失updateBegin不需要IF。然后IF的结尾由END IF;完成,只需要一个Begin .... End 尝试以下代码

BEGIN

UPDATE president
INNER JOIN election ON president.pres_name = election.candidate
SET yrs_serv = yrs_serv + 4
WHERE election.winner_loser_indic = 'W'
AND election.election_year = (SELECT MAX(election_year) FROM election);


IF (yrs_serv > 4) THEN 
 Select "warning"; // PRINT "warning" can be achived by Select
END IF;

END;