

MySQLでトリガーをSHOW・DROPする、CREATEはまだ空欄
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
トリガー周りのコマンドをメモしておく。SHOWとDROPは確認済みだけど、CREATEは中身をまだ決めてないので構文だけ載せておく。
トリガー一覧を確認する(SHOW TRIGGERS)
SHOW TRIGGERS;これで現在のデータベースに登録されてるトリガーが全部見れる。特定のデータベースやテーブルに絞りたい場合は以下でも書ける。
SHOW TRIGGERS FROM db_name LIKE 'pattern';トリガーを作る(CREATE TRIGGER)※中身は未定
まだ具体的な処理内容を決めてないので実際には作ってない。MySQLの基本構文だけ置いておく。
DELIMITER $$
CREATE TRIGGER trg_example_before_insertBEFORE INSERT ON example_tableFOR EACH ROWBEGIN SET NEW.updated_at = NOW();END$$
DELIMITER ;タイミングはBEFOREかAFTER、イベントはINSERT・UPDATE・DELETEのどれか。MySQLは行単位トリガーのみで、FOR EACH ROWは省略できない。本文が複数ステートメントになるならDELIMITERを変える必要がある。
実際に何をやらせるかが決まったら、この部分は書き換える。
トリガーを消す(DROP TRIGGER)
DROP TRIGGER <trigger-name>;これでも動くけど、正式には以下の書き方ができる。
DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name;IF EXISTSを付けとくと、存在しないトリガーを消そうとしたときのエラーを避けられる。スキーマ名を省略するとカレントデータベースが対象になる。