觸發(fā)器的學習

觸發(fā)器是當表中的內容發(fā)生增刪改時,自動觸發(fā)的代碼。
觸發(fā)器包含的三要素
1.事件類型:增(insert)刪(delete)改(update)
2.觸發(fā)時間:事件觸發(fā)的前(before)后(after)
3.觸發(fā)對象
每張表不能存在兩張相同事件類型和觸發(fā)時間的觸發(fā)器,即最多只能擁有3*2種觸發(fā)器
觸發(fā)器語句:

create trigger + 觸發(fā)器名稱 + 觸發(fā)器時間 + 事件類型 on 表名 for each row
begin -- 代表觸發(fā)器內容開始
-- 觸發(fā)器內容主體,每行用分號結尾
end -- 代表觸發(fā)器內容結束

還有兩記錄名:
1.OLD代表是舊記錄,也就是當前記錄的狀態(tài),插入時沒有OLD;
2.NEW代表是新記錄,也就是假設操作發(fā)生之后記錄的狀態(tài),刪除時沒有NEW。
取值為: OLD/NEW . 字段名

下面是數據實例:
表一 user_product:


user_product

表二 user_first:


user_first

邏輯陳述:當刪除user_product表中的數據時,根據user_id關聯(lián)user_first的id,刪除user_first對應行。
創(chuàng)建觸發(fā)器:

CREATE TRIGGER after_product_del AFTER DELETE ON user_product for each ROW
BEGIN
    DELETE from user_first WHERE id = OLD.user_id;
END

執(zhí)行user_product刪除操作:

DELETE from user_product where id = 3

結果:


image.png
image.png

如需查看觸發(fā)器,可用show triggers查看。也可在對應表的設計表中查看。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 觀其大綱 page 01 基礎知識 1 MySQL數據庫概要 2 簡單MySQL環(huán)境 3 數據的存儲和獲取 4 M...
    周少言閱讀 3,255評論 0 33
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,920評論 0 13
  • MYSQL 基礎知識 1 MySQL數據庫概要 2 簡單MySQL環(huán)境 3 數據的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 8,066評論 5 115
  • 生活總是比戲精彩。 公交車是六點半的,下樓的時候二十五分,走路過去是十分鐘,跑步過去可能來得及。于是,睡眼惺忪中,...
    翟?,?/span>閱讀 227評論 0 0
  • 濟陰綱目,話說老師果然是一代比一代敷衍啊 不知道師兄是不是???!(??????)??
    王賤賤述閱讀 93評論 2 0

友情鏈接更多精彩內容