MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL内でエラーを発生させる方法は?


MySQLは、他の言語の例外と同様のシグナルを導入しました。まず、signalの構文を見てみましょう。

SIGNAL SQLSTATE ' PredefinedValueforSignalError' 
SET MESSAGE_TEXT = 'AnyMessageInformation';

上記では、独自のエラーメッセージテキストも設定しています。

上記のクエリを適用して、シグナルを使用してエラーメッセージを取得します。

mysql > SIGNAL SQLSTATE '42927' SET MESSAGE_TEXT = 'Error Generated';

上記のクエリの出力は次のとおりです。

ERROR 1644 (42927): Error Generated

上記の出力で、「42927」はSQLSTATEであり、「ErrorGenerated」は追加したエラーメッセージです。


  1. MySQLでタイプを比較してもエラーが発生しないのはなぜですか?

    stringをintと比較しようとしても、MySQLはstringをintに変換するため、エラーは発生しません。まずテーブルを作成しましょう- mysql> create table DemoTable1852      (      Value1 varchar(20),      Value2 int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys

  2. MySQLは制約をどのように処理しますか?

    MySQLが制約をどのように処理するかを理解しましょう- MySQLは、トランザクションテーブル(ロールバックを許可する)と非トランザクションテーブル(ロールバックを許可しない)を操作するのに役立ちます。これが、MySQLで他のDBMSと比較して制約の処理が異なる理由です。非トランザクションデータベースでは、多数の行の挿入または更新中にエラーが発生した場合、それをロールバックすることはできません。このケースは適切な方法で処理する必要があります。 MySQL Serverは、実行する必要のあるステートメントを解析するときに、エラーであると検出したクエリに対してエラーを生成します。エラーが検出