您好,登錄后才能下訂單哦!
這篇文章主要介紹了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í)!
免責(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)容。