MariaDB トリガーを実行する

MariaDB トリガーを実行する

MariaDBで、トリガーを実行する手順を記述してます。「CREATE TRIGGER」にトリガー名を指定することで可能です。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

トリガトリガーを実行するには、「CREATE TRIGGER」を使用します。

CREATE TRIGGER トリガー名;

実際に、「tbl1」というテーブルが更新されたら以下の「tbl2」というテーブルにデータをinsertするトリガーを作成します。

CREATE TABLE `tbl2` 
(`id` int NOT NULL AUTO_INCREMENT
,`name` varchar(10) DEFAULT NULL
,`create_at` DATETIME NOT NULL
,PRIMARY KEY (`id`))
ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4

トリガーを作成する。

DROP TRIGGER IF EXISTS hoge;

delimiter //
CREATE TRIGGER hoge
AFTER UPDATE ON tbl1
FOR EACH ROW
BEGIN
 INSERT INTO tbl2(name,create_at) values('UPDATE',now());
END;
//

実際に「tbl1」を更新してみます。

UPDATE `tbl1` SET `age` = '55' WHERE (`id` = '5');

更新されると「tbl2」も更新されます。