MySQL道普請便り
第124回 trigger
第121回ではevent_
今回はtriggerでデータが更新されるタイミングで動作することを確認していきます。なお,
triggerの作成
triggerを作成するにはCREATE TRIGGER構文を利用します。CREATE TRIGGER構文はCREATE TRIGGER <trigger名> <trigger_
といった形式で記述します。
trigger_BEFORE
またはAFTER
を記述し,
trigger_
trigger_
trigger_NEW.<カラム名>
とOLD.<カラム名>
を利用することで,
実際に作成して動作を確認していきましょう。num(int)のようなt1テーブルに対して,
mysql> create table t1(num int); Query OK, 0 rows affected (0.08 sec) mysql> create table t2(num int); Query OK, 0 rows affected (0.02 sec) mysql> CREATE TRIGGER trg_t1_insert AFTER INSERT ON t1 -> FOR EACH ROW INSERT INTO t2 SET num = NEW.num * 2; Query OK, 0 rows affected (0.08 sec) mysql> INSERT INTO t1 VALUES (1),(2),(3); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t2; +------+ | num | +------+ | 2 | | 4 | | 6 | +------+ 3 rows in set (0.00 sec)
実際にt2.SHOW TRIGGERS
構文またはINFORMATION_SHOW CREATE TRIGGER <trigger_
で,
triggerによるレプリケーションの動作
triggerを利用する際のレプリケーションの動作を確認してみましょう。
triggerを作成することで,
ROWベースのレプリケーションを実施している場合,
STATEMENTベースのレプリケーションでは,
より詳細な動作については,
triggerを利用するときの注意点
triggerはアプリケーションコードを記入しなくとも,
まず,
また,
他にも,
まとめ
今回は簡単ではありますが,
筆者としては,
バックナンバー
MySQL道普請便り
- 第171回 MyDumperを使ってみよう[その2]
- 第170回 MySQLのキーワードと予約語をテーブルに使用したい場合
- 第169回 pt-variable-advisorを使ってみよう
- 第168回 MyDumperを使ってみよう[その1]
- 第167回 M1搭載MacのDockerでMySQLを動かしてみる
- 第166回 Performance_schema関数
- 第165回 MySQLの圧縮いろいろ
- 第164回 admin_address,admin_portを設定しよう
- 第163回 sysbench 1.0を使ってMySQLの負荷テストをする
- 第162回 mysqlクライアントの履歴を確認してみる
関連記事
- 第53回 MySQL& PostgreSQLの2019年の主なニュースと,オープンソースカンファレンス2020でのOSS-DB企画
- 第52回 MySQL Innovation Day 2019,PostgreSQL Conference Japan 2019開催
- 第51回 「企業ITシステムのモダナイゼーションとデータベース最新状況」報告,MySQL 8.0.18リリース,PostgreSQL 12リリース
- 第50回 OSC .Enterpriseにて特別セミナー開催, Oracle OpenWorld 2019でのMySQL関連の話題,PostgreSQLはイベントからの関連情報
- 第5回 DB側でやること、アプリ側でやることを見極めよう