在MySQL中,觸發(fā)器可以幫助我們實(shí)現(xiàn)一些自動(dòng)化操作,例如在插入數(shù)據(jù)時(shí)自動(dòng)計(jì)算某個(gè)字段的值。下面是添加MySQL觸發(fā)器的方式:
CREATE TRIGGER trigger_name { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON table_name FOR EACH ROW trigger_body
其中,trigger_name
是我們?yōu)橛|發(fā)器定義的名稱,{ BEFORE | AFTER }
表示觸發(fā)器在什么時(shí)候被執(zhí)行,{ INSERT | UPDATE | DELETE }
表示觸發(fā)器在執(zhí)行何種操作時(shí)被觸發(fā),table_name
是我們想在其上創(chuàng)建觸發(fā)器的表的名稱,FOR EACH ROW
表示對(duì)每行數(shù)據(jù)都執(zhí)行觸發(fā)器操作,trigger_body
則是觸發(fā)器的操作語句。
例如,我們想在插入數(shù)據(jù)時(shí)自動(dòng)為某個(gè)字段填充時(shí)間戳,可以使用以下代碼:
CREATE TRIGGER add_timestamp BEFORE INSERT ON users FOR EACH ROW SET NEW.created_at = NOW();
上述代碼中,add_timestamp
是我們?yōu)樵撚|發(fā)器定義的名稱,BEFORE INSERT
表示在數(shù)據(jù)插入前觸發(fā),users
是我們想在其上創(chuàng)建觸發(fā)器的表的名稱,SET NEW.created_at = NOW();
表示在插入數(shù)據(jù)時(shí)將created_at
字段填充為當(dāng)前時(shí)間戳。
通過以上方式,我們可以很方便地為MySQL表添加觸發(fā)器,實(shí)現(xiàn)自動(dòng)化操作。