MySQL資料庫操作補坑 六 觸發器

2021-10-16 05:23:10 字數 1108 閱讀 4640

語法:

create

trigger 觸發器名 before |

after 觸發器事件

on 表名 for each row 執行語句

語法:

create

trigger 觸發器名 before |

after 觸發器事件

on 表名 for each row

begin

執行語句列表

end

不同的執行語句間用分號隔開

一般情況下,mysql 預設是以;作為結束執行語句。在建立觸發器時過程中需要用到;。為了解決這個問題,可以用delimiter語句。如delimiter && ;來將結束符號變成;

delimiter

&&create

trigger 觸發器名 before |

after 觸發器事件

on 表名 for each row

begin

執行語句列表

enddelimiter

;

mysql中,乙個表在相同觸發時間的相同觸發事件,只能建立乙個觸發器。

語法:show triggers;

該語句只能查詢所有觸發器資訊。

所有的觸發器的定義都存在information_schema資料庫下的 triggers 表中。

select

*from information_schema.tiggers where tigger_name=

'觸發器名'

;

在啟用觸發器時,對觸發器中的執行語句存在一些限制:

在觸發器的執行過程中,任何步驟出錯都會阻止程式向下執行。但是對於普通表來說,已經更新過的記錄是不能回滾的。更新後的資料將繼續保持在表中。

語法:drop trigger 觸發器名;

MySQL資料庫操作補坑 八 插入 更新與刪除資料

不指明具體欄位名 insert into 表名 values 值 1 值 2 需要按照標的順序來判斷 列出所有字段 insert into 表名 屬性1,屬性2,屬性n values 值1,值2,值n insert into 表名 屬性1,屬性2,屬性n values 值1,值2,值n insert...

MySql資料庫高階操作關係 六

思考 學生列應該存什麼資訊呢?答 學生列的資料不是在這裡新建的,而應該從學生表引用過來,關係也是一條資料 根據正規化要求應該儲存學生的編號,而不是學生的姓名等其它資訊 同理,科目表也是關係列,引用科目表中的資料 外來鍵的級聯操作 alter table scores add constraint s...

mysql資料庫的觸發器 Mysql資料庫觸發器

我還是msyql資料庫觸發器的新手.我想問一下我的台詞 create trigger secure dml3 before delete on t pembelian begin if select to char sysdate,dy in sun or select to char sysdat...