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」は追加したエラーメッセージです。
-
MySQLでタイプを比較してもエラーが発生しないのはなぜですか?
stringをintと比較しようとしても、MySQLはstringをintに変換するため、エラーは発生しません。まずテーブルを作成しましょう- mysql> create table DemoTable1852 ( Value1 varchar(20), Value2 int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys
-
MySQLは制約をどのように処理しますか?
MySQLが制約をどのように処理するかを理解しましょう- MySQLは、トランザクションテーブル(ロールバックを許可する)と非トランザクションテーブル(ロールバックを許可しない)を操作するのに役立ちます。これが、MySQLで他のDBMSと比較して制約の処理が異なる理由です。非トランザクションデータベースでは、多数の行の挿入または更新中にエラーが発生した場合、それをロールバックすることはできません。このケースは適切な方法で処理する必要があります。 MySQL Serverは、実行する必要のあるステートメントを解析するときに、エラーであると検出したクエリに対してエラーを生成します。エラーが検出