MySql 觸發器的新增、修改、刪除的創建


 MySql 觸發器與SQL server 觸發器不同:

SQL Server   使用 inserted、deleted 代表被觸發的數據。

MySQL NEW代表觸發后的新數據行,Old代表當前觸發數據被修改前的數據行

一、Insert

delimiter $$
CREATE TRIGGER trigger _Name_insert   AFTER INSERT

ON  test_tb  FOR EACH ROW
BEGIN

INSERT INTO testtb2 (a,b)
VALUES
(NEW.ID,NEW.datet);  #NEW 代表當前新增行

END;
$$

DELIMITER ;

 

二、Update

delimiter $$
CREATE TRIGGER trigger _Name_update  AFTER UPDATE

ON  test_tb  FOR EACH ROW
BEGIN

INSERT INTO testtb2 (a,b)
VALUES
(NEW.ID,NEW.datet);  #NEW 代表當前修改后數據行,使用Old 則代表被修改行修改前的數據

END;
$$

DELIMITER ;

 

三、Delete

delimiter $$
CREATE TRIGGER trigger _Name_dalete  BEFORE DELETE

ON  test_tb  FOR EACH ROW
BEGIN

INSERT INTO testtb2 (a,b)
VALUES
(NEW.ID,NEW.datet);  #NEW 代表當前刪除行

END;
$$

DELIMITER ;

 

四、觸發器的啟用與禁用

ALTER TABLE [表名] DISABLE TRIGGER [觸發器名] --禁用觸發器
--需要執行的操作語句
ALTER TABLE [表名] ENABLE TRIGGER [觸發器名] --啟用觸發器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM