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

MySQLトリガーを作成して使用するにはどうすればよいですか?


新しいトリガーを作成するには、CREATETRIGGERステートメントを使用する必要があります。その構文は次のとおりです-

CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name
FOR EACH ROW
BEGIN
...
END;

ここで

  • Trigger_name CREATETRIGGERステートメントの後に配置する必要があるトリガーの名前です。 trigger_nameの命名規則は、[トリガー時間]_[テーブル名]_[トリガーイベント]のようになります。たとえば、before_student_updateまたはafter_student_insertをトリガーの名前にすることができます。
  • Trigger_time はトリガーがアクティブ化される時間であり、BEFOREまたはAFTERの場合があります。トリガーを定義するときに、アクティブ化時間を指定する必要があります。テーブルに加えられた変更の前にアクションを処理する場合はBEFOREを使用し、テーブルに加えられた変更に対するアクションポストを処理する場合はAFTERを使用する必要があります。
  • Trigger_event INSERT、UPDATE、またはDELETEにすることができます。このイベントにより、トリガーが呼び出されます。トリガーは、1つのイベントによってのみ呼び出すことができます。複数のイベントによって呼び出されるトリガーを定義するには、イベントごとに1つずつ、複数のトリガーを定義する必要があります。
  • Table_name テーブルの名前です。実際、トリガーは常に特定のテーブルに関連付けられています。テーブルがないとトリガーは存在しないため、「ON」キーワードの後に​​テーブル名を指定する必要があります。
  • BEGIN…END トリガーのロジックを定義するブロックです。
次のように作成されたテーブルStudent_ageにトリガーを適用するとします-

mysql> Create table Student_age(age INT, Name Varchar(35));
Query OK, 0 rows affected (0.80 sec)

これで、誰かが年齢<0を挿入しようとすると、次のトリガーによって年齢=0が自動的に挿入されます。

mysql> DELIMITER //
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)

これで、このトリガーを呼び出すために、次のステートメントを使用できます-

mysql> INSERT INTO Student_age(age, Name) values(30, 'Rahul');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO Student_age(age, Name) values(-10, 'Harshit');
Query OK, 1 row affected (0.11 sec)

mysql> Select * from Student_age;
+------+---------+
| age  | Name    |
+------+---------+
| 30   | Rahul   |
| 0    | Harshit |
+------+---------+
2 rows in set (0.00 sec)

上記の結果セットは、テーブルに負の値を挿入すると、トリガーによって0が挿入されることを示しています。

上記は、insertとtrigger_timeがBEFOREであるためtrigger_eventを使用したトリガーの例です。


  1. 単一のMySQLクエリでCOUNT()とIF()を使用するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable (    isValidUser boolean ); Query OK, 0 rows affected (0.70 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(true); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values(false); Query OK, 1

  2. TikTok アバターの作成と使用方法

    TikTok のアバター フィルターを使用すると、実際の外見を、自分に似ているかどうかに関係なくアニメーション化された絵文字に置き換えることができます。この機能は、身元を隠したり、まったく新しいデジタル ペルソナを採用したりするのに最適です。 アバターを選択するときは、既製のキャラクターを選択するか、独自の嫌悪感を作成できます。作成したら、今後の TikTok ビデオで新しい自分を使用できます。 自分を優れたものに置き換える準備はできていますか? TikTok モバイル アプリでアバターを作成して使用する方法について説明しましょう。 TikTok アバターの使用方法 TikTok アバタ