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

OLDおよびNEWキーワードを使用すると、トリガーの影響を受ける行の列にアクセスできますか?


トリガー定義では、挿入、更新、または削除される行の列を参照できることがわかっています。 OLDキーワードとNEWキーワードを使用して列にアクセスする方法は次のとおりです-

  • 元の行の値を参照するには、列名の前にOLDの修飾子を付ける必要があります。

  • 新しい行の値を参照するには、列名の前にNEWの修飾子を付ける必要があります。

ここで、トリガーイベントのため、OLDとNEWの使用を適切に行う必要があります

それらのどれが許容されるかを決定します-

  • INSERTトリガーでは、NEW.column_nameは、新しい行に挿入される列の値を示します。ここではOLDは許可されていません。

  • DELETEトリガーでは、OLD.column_nameは、削除する行の列の値を示します。ここではNEWは許可されていません。

  • UPDATEトリガーでは、OLD.column_nameとNEW.column_nameは、行が更新される前と後の行の列の値をそれぞれ参照します。

つまり、OLDは読み取り専用で使用する必要があり、NEWは列値の読み取りまたは変更に使用できると言えます。

トリガーでのキーワードOLDの使用

DELETEトリガーの例に続いて、OLD-

の使用法を示しています。
mysql> CREATE TRIGGER studentinfo_after_delete
   -> AFTER DELETE
   -> ON student_info
   -> FOR EACH ROW FOLLOWS
   -> BEGIN
   -> DECLARE vuser varchar(30);
   -> SELECT USER() into vuser;
   -> INSERT INTO student_info_deleted(id,deleted_date,deleted_by) VALUES(OLD.id,SYSDATE(),vuser);
   -> END; //
Query OK, 0 rows affected (0.25 sec)

トリガーでのキーワードNEWの使用

INSERTトリガーの例に続いて、NEW-

の使用法を示しています。
mysql> Create Trigger before_inser_studentage BEFORE INSERT ON
student_age FOR EACH ROW
BEGIN
IF NEW.age < 0 THEN SET NEW.age = 0;
END IF;
END //
Query OK, 0 rows affected (0.30 sec)

  1. Windows 11 で音声アクセスを有効にする方法

    音声アクセスは Windows 11 のクールな新機能で、ご想像のとおり、声だけですべてのコンピューターを管理できます。音声コントロールが大流行している今日、Microsoft がこの機能を追加していなかったら奇妙だったでしょう。 この記事では、それについて説明します。それでは、Windows 11 で音声アクセスを有効にする方法を学びましょう。 Windows 11 で音声アクセスを有効にする方法 2021 年 12 月に導入された音声アクセスは、アプリの閲覧、メールの読み書き、アプリ間の切り替えなど、すべてをサポートします。音声アクセスは音声認識とは異なることに注意してください。音声認

  2. 新しい Microsoft Edge で Internet Explorer モードを有効にして使用する方法

    Microsoft の新しい Edge ブラウザーは優れています。ユーザー インターフェイスの再設計、パフォーマンスの高速化、拡張機能のサポートの改善が特徴です。ただし、エンタープライズまたはビジネスの場合は、新しい Edge の 1 つの機能も気に入るはずです。それは Internet Explorer モードです。 新しい Microsoft Edge の Internet Explorer モード (IE モード) を使用すると、最新のレンダリング エンジンと従来の Web サイトとの互換性を組み合わせた簡素化されたエクスペリエンスが得られます。 IE モードは、Microsoft E