作業上の必要があるため、次のように mysql のカスタム行番号を記述する必要があります
DELIMITER $$
DROP FUNCTION IF EXISTS `onlineFunction`$$
CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR( 255)
BEGIN
IF(rrrr='online') THEN RETURN 'online';END IF;
END$$
DELIMITER ;
MySQL は SQL としてセミコロンを使用するため、最初の行 DELIMITER は終了識別子を定義します。デフォルトのステートメント関数のターミネータは本文内で使用されるため、デフォルトのSQLターミネータと競合するため、最初にSQLのターミネータとして別のシンボルを定義する必要があります。この定義が追加されていない場合...
エラー コード: 1064
SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「end」付近で使用する正しい構文を確認してください。この行は、同じ名前のクラスを
削除
します。それ以外の場合は...エラー コード: 1304FUNCTION onlineFunction 既に存在します
3 行目の最初の関数名、関数
変数
、および戻り値の型 4行目 begin begin、end$$
に対応 5行目はif
判定文
、形式はif(...) then....;
elseif
....;
else
.... ;
end if;
return ..;
関数 2 が有効になっていないため、mysql が
カスタム関数
を作成できない場合があります「%func%」コマンドのような show 変数を入力してください
; log_bin_trust_function_creators のステータス。OFF の場合、カスタム関数機能がオフになっていることを意味します
コマンド set global log_bin_trust_function_creators=1; を入力します
log_bin_trust_function_creators をオンにしてカスタム関数機能を有効にすることができます
ただし、この設定はmysql の自動再起動が OFF になるとステータスが変わるため、一時的な解決策です。そのため、サービスを開始するときに「--log-bin-trust-function-creators=1」パラメータを追加する必要があります。
または、my.ini (my.cnf) の [mysqld] セクションに log-bin-trust-function-creators=1 を追加します。
以上がmysql カスタム関数の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。