我试图在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
语句,则代码可以使用。
答案 0 :(得分:1)
首先,您在;
末尾遗失update
,Begin
不需要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;