1、先創建一個空的person_log表用來存放被刪除的記錄。
創新互聯專注于卓資網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供卓資營銷型網站建設,卓資網站制作、卓資網頁設計、卓資網站官網定制、小程序制作服務,打造卓資網絡公司原創品牌,更為您提供卓資網站排名全網營銷落地服務。
2、創建一個觸發器del_person,執行刪除操作后將記錄插入到person_log表。
觸發器person_log
3、從person表中執行刪除記錄操作來觸發事件
4、查看person_log表結果:
結果:從person表執行刪除一條記錄后會觸發person_log表中增加被刪除的記錄。
使用Mysql新建觸發器的方法:
1、首先,需要確定自己的Mysql數據庫的版本,因為my sql數據庫是從5.0.2版本才開始支持觸發器的。
2、在電腦的dos命令界面中輸入 mysql --version,來獲取mysql的版本號,注意version的兩個橫線和之前的mysql是有一個空格的。
3、上一步獲取了mysql版本號,就開始建立觸發器。采用以視圖加代碼的方式創建,在數據表中找到要執行刪除操作的表,然后右鍵設計表
4、這樣就打開了表的設計頁面,可以看到有一個觸發器選項卡,點擊“觸發器”
5、可以看到對應的選項,在名里面添加需要新建的觸發器的名字,在觸發選項中選擇before或者after,然后在插入、更新、刪除三個選項中勾選一個。
6、這樣們就建立了一個名為“datri”的觸發器,在刪除操作執行之后觸發
7、然后在下面的定義下面的框中輸入需要執行的操作。然后點擊sql預覽,可以看到整個觸發器的代碼
8、最后就是保存了,由于做的是觸發器,保存之后,在執行刪除操作時,這個觸發器才相當于被執行。
主要的就是數據的截取吧,在家判斷就可以了
CREATE TRIGGER trigger1
AFTER insert ON AAA
FOR EACH ROW
BEGIN
insert INTO BBB
(a, b, c, d)
values substr
('this\is\a\test', 1, instr('this\is\a\test', '\', 1, 1) - 1),
substr
('this\is\a\test',
instr('this\is\a\test', '\', -1, 3) + 1,
instr('this\is\a\test', '\', -1, 2) -
(instr('this\is\a\test', '\', -1, 3) + 1)),
(substr('this\is\a\test',
instr('this\is\a\test', '\', -1, 2) + 1,
instr('this\is\a\test', '\', -1, 1) -
(instr('this\is\a\test', '\', -1, 2) + 1)),
substr(NEW :aa, instr(NEW :aa, '\', -1, 1) + 1, length(NEW :aa)));
END;
--觸發器如果存在則刪除重新創建
DROP?TRIGGER?IF?EXISTS?觸發器名稱;
CREATE?TRIGGER?觸發器名稱?
AFTER?INSERT?ON?表名稱
FOR?EACH?ROW
BEGIN
--這里寫你觸發器觸發時要做的
UPDATE?lsxhd?
SET?ywrq=UNIX_TIMESTAMP(FROM_UNIXTIME(rq,?"%Y-%m-%d"))
WHERE
ywrq=UNIX_TIMESTAMP('1970-01-01')--如果這里的‘1970-01-01’是插入的數據中的列值的話,可以從INSERTED中查詢出
END;
分享標題:mysql怎么寫觸發器 mysql數據庫觸發器怎么寫
文章出自:http://vcdvsql.cn/article20/doodsco.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、小程序開發、定制網站、自適應網站、用戶體驗、關鍵詞優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯