溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql觸發(fā)器怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2022-01-14 15:54:05 來源:億速云 閱讀:119 作者:小新 欄目:數(shù)據(jù)庫

這篇文章主要介紹了mysql觸發(fā)器怎么實(shí)現(xiàn),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

 MySQL 觸發(fā)器簡(jiǎn)單實(shí)例
1、語法:
CREATE TRIGGER <觸發(fā)器名稱>  --觸發(fā)器必須有名字,最多64個(gè)字符,可能后面會(huì)附有分隔符.它和MySQL中其他對(duì)象的命名方式基本相象.
{ BEFORE | AFTER }  --觸發(fā)器有執(zhí)行的時(shí)間設(shè)置:可以設(shè)置為事件發(fā)生前或后。
{ INSERT | UPDATE | DELETE }  --同樣也能設(shè)定觸發(fā)的事件:它們可以在執(zhí)行insert、update或delete的過程中觸發(fā)。
ON <表名稱>  --觸發(fā)器是屬于某一個(gè)表的:當(dāng)在這個(gè)表上執(zhí)行插入、 更新或刪除操作的時(shí)候就導(dǎo)致觸發(fā)器的激活. 我們不能給同一張表的同一個(gè)事件安排兩個(gè)觸發(fā)器。
FOR EACH ROW  --觸發(fā)器的執(zhí)行間隔:FOR EACH ROW子句通知觸發(fā)器 每隔一行執(zhí)行一次動(dòng)作,而不是對(duì)整個(gè)表執(zhí)行一次。
<觸發(fā)器SQL語句>  --觸發(fā)器包含所要觸發(fā)的SQL語句:這里的語句可以是任何合法的語句, 包括復(fù)合語句,但是這里的語句受的限制和函數(shù)的一樣。
--你必須擁有相當(dāng)大的權(quán)限才能創(chuàng)建觸發(fā)器(CREATE TRIGGER),如果你已經(jīng)是Root用戶,那么就足夠了。這跟SQL的標(biāo)準(zhǔn)有所不同。
2 簡(jiǎn)單的觸發(fā)器列子
 (1) 查看觸發(fā)器     show triggers;
 (2) 刪除觸發(fā)器   drop trigger t_afterinsert_on_tab1
 (3) 現(xiàn)在模擬的是 向表student中插入數(shù)據(jù),同時(shí)備份到student1表中
  創(chuàng)建所需表
 
 CREATE TABLE student(
    id varchar(11)
   );
 
 CREATE TABLE student1(
    id varchar(11)
   );
  創(chuàng)建觸發(fā)器:
  CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON Student 
FOR EACH ROW
BEGIN
     insert into Student1(studentid,studentname) values(new.StudentID,new.StudentName);
    //需注意的是new 后面直接跟的是表的字段名
END;
 
 測(cè)試:
 
 insert into student(id) values("1");
select * from student;
select * from student1;
可以發(fā)現(xiàn)數(shù)據(jù) 同步

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“mysql觸發(fā)器怎么實(shí)現(xiàn)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI