欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql觸發(fā)器同步表的數(shù)據(jù)方式

 更新時間:2023年08月30日 14:32:38   作者:楊小木.  
這篇文章主要介紹了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中刪除數(shù)據(jù)的幾種方法(最新推薦)

    mysql中刪除數(shù)據(jù)的幾種方法(最新推薦)

    在MySQL數(shù)據(jù)庫中,刪除數(shù)據(jù)是一個常見的操作,它允許從表中移除不再需要的數(shù)據(jù),在執(zhí)行刪除操作時,需要謹慎,以免誤刪重要數(shù)據(jù),本文給大家介紹mysql中刪除數(shù)據(jù)的幾種方法,感興趣的朋友一起看看吧
    2023-11-11
  • MySQL運行在docker容器性能損失解析

    MySQL運行在docker容器性能損失解析

    這篇文章主要為大家介紹了MySQL運行在docker容器中的性能損失解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • mysql8.0.0 winx64.zip解壓版安裝配置教程

    mysql8.0.0 winx64.zip解壓版安裝配置教程

    這篇文章主要為大家詳細介紹了mysql8.0.0 winx64.zip解壓版安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 詳解MySQL中的pid與socket

    詳解MySQL中的pid與socket

    不知道你有沒有注意過,MySQL 啟動時需要配置 pid 及 socket 文件路徑。偶爾還會出現(xiàn)因 pid 文件找不到而啟動失敗的現(xiàn)象,那么 pid 與 socket 文件究竟是干什么用的呢?我們一起來看下本篇文章。
    2021-06-06
  • MySQL排序優(yōu)化詳細解析

    MySQL排序優(yōu)化詳細解析

    這篇文章主要介紹了MySQL排序優(yōu)化詳細解析,MySQL有兩種方式生成有序的結(jié)果:1.通過排序操作;2.按索引順序掃描,如果EXPLAIN出來的type列的值為"index",則說明使用了索引掃描來做排序,需要的朋友可以參考下
    2024-01-01
  • 使用sysbench來測試MySQL性能的詳細教程

    使用sysbench來測試MySQL性能的詳細教程

    這篇文章主要介紹了使用sysbench來測試MySQL性能的詳細教程,包括介紹了從sysbench的編譯安裝到初始化測試庫環(huán)境等一系列操作,需要的朋友可以參考下
    2015-05-05
  • windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版)

    windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版)

    這篇文章主要介紹了windows下MySQL 5.7.3.0安裝配置圖解教程(安裝版),需要的朋友可以參考下
    2016-04-04
  • MySQL學習之完整性約束詳解

    MySQL學習之完整性約束詳解

    數(shù)據(jù)完整性指的是數(shù)據(jù)的一致性和正確性。完整性約束是指數(shù)據(jù)庫的內(nèi)容必須隨時遵守的規(guī)則。本文就來為大家講講MySQL中的完整性約束,需要的可以參考一下
    2022-08-08
  • Oracle和MySQL中生成32位uuid的方法舉例(國產(chǎn)達夢同Oracle)

    Oracle和MySQL中生成32位uuid的方法舉例(國產(chǎn)達夢同Oracle)

    近日遇到朋友問及如何生成UUID,UUID是通用唯一識別碼(Universally Unique Identifier)方法,這里給大家總結(jié)下,這篇文章主要給大家介紹了關于Oracle和MySQL中生成32位uuid的方法,需要的朋友可以參考下
    2023-08-08
  • MySQL存儲過程參數(shù)的用法及說明

    MySQL存儲過程參數(shù)的用法及說明

    這篇文章主要介紹了MySQL存儲過程參數(shù)的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論