mysql的觸發器
一般用在需要有資料統計的時候,如果每次請求都要對一張表的資料進行統計,可以考慮觸發器,
如:乙個公司的 雇員資訊表中,有使用者名稱 和 使用者的工資字段,
現在需要在前端頁面上展示,總的雇員數,和總的工資數,如果每請求一次都要去使用 mysql的聚合函式 sum 和 count 其實是乙個很低效的事
解決方法:
建乙個統計表 : 表名 total, 並建乙個觸發器,當雇員表(employe)中的資料發生 insert | update | delete等操作時,由觸發器來使total表做出相應的修改
以下是sql 語句
建立 雇員表
create table empolye (
id int unsigned auto_increment primary key,
username char(10),
money int
)engine innodb default charset utf8;
建立統計表
create table total(
user_total int,
money_total int
)engine innodb default charset utf8;
在雇員表中加一些資料
insert into employe values(null,'huang',10000),(null,'jun',8000),(null,'hui',12000);
把資料寫到total表中
insert into total select count(id),sum(money) from employe;
這裡就是重點的建立觸發器
這樣,當employe表中有資料寫入時,就會觸發,相應的 total表中的更新操作
當update時的觸發器
當刪除時的觸發器
注意,觸發器不可以多次定義,如果乙個表已經定義了乙個 after的觸發器 ,那麼就不能再定義乙個,解決的辦法有兩種
一種是 可以寫乙個 before的觸發器
另一種 就是 在after的觸發器中可以書寫多條的sql語句
MySQL基礎 觸發器
觸發器 trigger 監視某種情況,並觸發某種操作,它的執行是由事件來觸發的,例如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器建立語法四要素 1.監視地點 table 2.監視事件 insert update...
mysql 基礎 觸發器
簡單的說,就是一張表發生了某件事 插入 刪除 更新操作 然後自動觸發了預先編寫好的若干條sql語句的執行 特點 觸發事件的操作和觸發器裡的sql語句是乙個事務操作,具有原子性,要麼全部執行,要麼都不執行 作用 保證資料的完整性,起到約束的作用 觸發器是隱藏到mysql後台執行的功能。由於觸發器是隱藏...
觸發器 mysql觸發器
觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...