ホームページ >データベース >mysql チュートリアル >MySQL 関数でカスタム エラーを発生させるにはどうすればよいですか?

MySQL 関数でカスタム エラーを発生させるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 12:21:10272ブラウズ

How Can I Raise Custom Errors in MySQL Functions?

MySQL 関数でのエラーの発生

データの整合性を確保し、MySQL 関数で無効な入力を処理するには、エラーを発生させることが不可欠です。 MySQL 5.5 以降では、シグナルとして知られる強力なメカニズムにより、開発者はカスタム エラー条件を作成できます。

シグナル構文

シグナルは次の構文を使用して発生させます。エラー:

SIGNAL SQLSTATE error_code SET MESSAGE_TEXT = 'error_message';

ここで:

  • error_code: SQL 状態エラー コード (例: '45000')
  • error_message: カスタム エラー メッセージ

例使用法

次の例を考えてみましょう。

CREATE FUNCTION my_function(a INT, b INT) RETURNS INT
BEGIN
  IF a = 0 OR b = 0 THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Invalid input: Zero values not allowed.';
  ELSE
    RETURN a * b;
  END IF;
END;

この関数は、いずれかのパラメータがゼロに等しいかどうかをチェックし、true の場合はカスタム エラーを生成します。

コマンド ラインのデモ

コマンド ライン クライアントでのエラー処理をテストするには、次のようにします。次のステートメントを実行します:

mysql> CALL my_function(0, 5);
ERROR 1644 (45000): Invalid input: Zero values not allowed.

以上がMySQL 関数でカスタム エラーを発生させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。