mysql觸發(fā)器同步表的數(shù)據(jù)方式
mysql觸發(fā)器同步表的數(shù)據(jù)
觸發(fā)器定義什么的就不介紹了
這里從定義觸發(fā)器的語法格式開始
delimiter $ create trigger '觸發(fā)器名稱' after/before insert/update/delete on '表名' for each row begin '觸發(fā)的sql語句'; end $; delimiter;
delimiter
:是mysql的分隔符,默認是分號(;),在例如觸發(fā)器,存儲過程這種情況,為了讓其順利的執(zhí)行先去,就需要先重新定義一個特殊的分隔符,在結(jié)束操作后再重新更改回來;after
/before
:觸發(fā)器被觸發(fā)的時刻,選擇觸發(fā)器在觸發(fā)事件之前發(fā)生還是觸發(fā)事件之后發(fā)生;insert
/update
/delete:觸發(fā)事件,在mysql中,只支持這三種操作來觸發(fā)觸發(fā)器;for each row
:行級觸發(fā)器。指每行受影響,觸發(fā)器都運行,mysql不支持語句觸發(fā)器,所以必須寫for each row;
示例
第一步:先創(chuàng)建兩個表
圖書館表
圖書表
創(chuàng)建插入觸發(fā)器
-- 插入觸發(fā)器 delimiter $ create trigger trig_insert_book after insert on `library` for each row begin insert into book(`ref`,`name`,`price`,`press`) values (new.book_ref,new.book_name,new.book_price,new.book_press); end $; delimiter ;
創(chuàng)建完成后,可以從設計表結(jié)果中查看
執(zhí)行插入語句
insert into library(`library_id`,`book_ref`,`book_name`,`book_price`,`book_press`,`book_sum`,`library_name`,`library_adress`) values (11021,'ac1005','春秋',59.9,'小木出版社',60,'廣州市圖書館','廣州市')
可以看到,現(xiàn)在只對library表進行插入操作,插入成功后,查看library表數(shù)據(jù)
同時再去才可能book表數(shù)據(jù)
可以發(fā)現(xiàn),book的表數(shù)據(jù)也同步插入
對比觸發(fā)器的sql語句與結(jié)果
(因為這里我的book表的id字段是自增的,所以不需要在觸發(fā)器中去設置id)
創(chuàng)建更新觸發(fā)器
-- 更新觸發(fā)器 delimiter $ create trigger trig_update_book after update on `library` for each row begin update book set ref=new.book_ref,name=new.book_name,price=new.book_price,press=new.book_press; end $ delimiter;
執(zhí)行更新語句
update library set book_name ='冬夏' where library_id=11021
更新結(jié)果
創(chuàng)建刪除觸發(fā)器
delimiter $ create trigger trig_delete_book after delete on `library` for each row begin delete from book where ref = old.book_ref; end $; delimiter;
執(zhí)行刪除語句
delete from `library` where book_ref = 'ac1005'
刪除結(jié)果
總結(jié)
以上即為mysql觸發(fā)器的同步表操作。僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- MySQL觸發(fā)器Trigger加載及目前局限性
- 一文教你如何使用MySQL觸發(fā)器
- 淺談MySQL觸發(fā)器的原理以及使用
- MySQL存儲函數(shù)以及觸發(fā)器詳解
- MySQL中的觸發(fā)器trigger用法解析
- MySQL如何創(chuàng)建觸發(fā)器(CREATE TRIGGER)
- Mysql觸發(fā)器字段雙向更新方式
- mysql觸發(fā)器中監(jiān)控字段的改變方式
- MySQL觸發(fā)器實現(xiàn)兩表數(shù)據(jù)同步的代碼詳解
- MySQL使用觸發(fā)器實現(xiàn)數(shù)據(jù)自動更新的應用實例
- 從零開始MySQL觸發(fā)器實戰(zhàn)攻略
- MySQL 觸發(fā)器(TRIGGER)的具體使用
相關文章
mysql中刪除數(shù)據(jù)的幾種方法(最新推薦)
在MySQL數(shù)據(jù)庫中,刪除數(shù)據(jù)是一個常見的操作,它允許從表中移除不再需要的數(shù)據(jù),在執(zhí)行刪除操作時,需要謹慎,以免誤刪重要數(shù)據(jù),本文給大家介紹mysql中刪除數(shù)據(jù)的幾種方法,感興趣的朋友一起看看吧2023-11-11mysql8.0.0 winx64.zip解壓版安裝配置教程
這篇文章主要為大家詳細介紹了mysql8.0.0 winx64.zip解壓版安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版)
這篇文章主要介紹了windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版),需要的朋友可以參考下2016-04-04Oracle和MySQL中生成32位uuid的方法舉例(國產(chǎn)達夢同Oracle)
近日遇到朋友問及如何生成UUID,UUID是通用唯一識別碼(Universally Unique Identifier)方法,這里給大家總結(jié)下,這篇文章主要給大家介紹了關于Oracle和MySQL中生成32位uuid的方法,需要的朋友可以參考下2023-08-08