IF を使用して 1 つの関数を記述しようとしていますが、エラーが発生しています
SQL 構文にエラーがあります。8 行目のコード 1064 の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
これが関数です。
DELIMITER $$
DROP FUNCTION IF EXISTS `my_fun` $$
CREATE FUNCTION `my_fun` (nid INT) RETURNS VARCHAR(200)
BEGIN
DECLARE abc varchar(100);
SELECT foo INTO abc FROM my_table WHERE bar = nid;
IF abc = ''
THEN
SELECT foo INTO abc FROM my_table WHERE bar = -1;
RETURN abc;
END $$
DELIMITER ;
ここで構文がわかりません。私も試しIF abc IS NULL
ました。最初のselectステートメントが空の値を返したかどうかを確認してから、別のステートメントを実行したいだけです。