Mysql/trigger
提供: 初心者エンジニアの簡易メモ
トリガー一覧
SHOW TRIGGERS;
サンプル
usersに入れると自動で、commandsにデータが入るように
create table users ( id int unsigned primary key auto_increment, name varchar(31) );
create table commands ( id int unsigned primary key auto_increment, value varchar(31) );
以下トリガー作成
DELIMITER $$
CREATE TRIGGER command1 AFTER INSERT
ON users FOR EACH ROW BEGIN
declare str CHAR(255);
SET str = concat('username=', new.name);
INSERT into commands SET
value=str;
END;
$$
DELIMITER;
以下データを入れると・・
insert into users(name) values('taro');
select * from users;
+----+------+
| id | name |
+----+------+
| 1 | taro |
以下テーブルに自動で入っていることを確認
select * from commands; +----+---------------+ | id | value | +----+---------------+ | 1 | username=taro |
トリガー削除
DROP TRIGGER command1;
実行権限が違うと以下エラーが出る
ERROR 1449 (HY000): The user specified as a definer ('root'@'localhost') does not exist
