「Mysql/trigger」の版間の差分
提供: 初心者エンジニアの簡易メモ
| 行46: | 行46: | ||
+----+---------------+ | +----+---------------+ | ||
| 1 | username=taro | | | 1 | username=taro | | ||
| + | |||
| + | ==実行権限が違うと以下エラーが出る== | ||
| + | ERROR 1449 (HY000): The user specified as a definer ('root'@'localhost') does not exist | ||
2018年3月20日 (火) 16:26時点における版
トリガー一覧
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 |
実行権限が違うと以下エラーが出る
ERROR 1449 (HY000): The user specified as a definer ('root'@'localhost') does not exist
