2016-05-03 10 views
0

私は、ユーザーがログインするときにトリガーが特定の列をチェックするようにしようとしています。列の値が「いいえ」の場合は「Ask」として設定し、「Ask」の場合は「Yes」に設定します。私が試してみるものは何もないようです。最近では私が試した:Cannnot IF ELSE IF文を取得する

IF(new.eula_accepted = 'No') THEN SET new.eula_accepted = 'Ask'; 
else if(new.eula_accepted = 'Ask') THEN SET new.eula_accepted = 'Yes'; 
end if 

それは私を与えるエラーは、MySQLが言った「ある:#1064 - あなたのSQL構文でエラーが発生している。使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください「3番線」の近くにあります。私はちょうどこのしようとした場合:

IF(new.eula_accepted = 'No') THEN SET new.eula_accepted = 'Ask'; 
end if 

はうまく動作しますが、私は本当にそれは両方を行う必要があること。どんな助けもありがたいです、私は信念を超えて不満を感じています。

+0

どの行が3行目ですか? – Martin

答えて

0

IF syntaxが間違っています。 ELSE IFの代わりにELSEIFを使用してください:

IF new.eula_accepted = 'No' THEN SET new.eula_accepted = 'Ask'; 
ELSEIF new.eula_accepted = 'Ask' THEN SET new.eula_accepted = 'Yes'; 
END IF;