触发器 语法 CREATE TRIGGER trigger_name trigger_time trigger_event NO table_name FOR EACH ROW trigger_stmt trigger_name:
CREATE TRIGGER trigger_name
trigger_time
trigger_event NO table_name
FOR EACH ROW
trigger_stmt
CREATE TRIGGER trigger1
AFTER
INSERT ON tb1
FOR EACH ROW
INSERT INTO tb2 (name) VALUES (new.name)
CREATE TRIGGER updateDct
AFTER
INSERT ON country
FOR EACH ROW
INSERT INTO country_dictionary(id,name,insetTime) VALUES (new.id,new.countryname,SYSDATE());
SHOW TRIGGERS;
SELECT * FROM infORMation_schema.`TRIGGERS` WHERE TRIGGER_NAME = "updateDct";
DROP TRIGGER updateDct;
在命令行中执行时,“;”加回车表示执行,需要将分隔符改为别的符号,执行完再改回来,可用 delimiter 关键字实现
在表更新后将跟新前和跟新后数据加到日志表中,见下
-- 将分隔符换位//
DELIMITER //
CREATE TRIGGER on_update_country_log
AFTER
UPDATE ON country
FOR EACH ROW
BEGIN
INSERT INTO country_update_log VALUES (UUID(),SYSDATE(),CONCAT("new[country_code=",new.countryCode,";countryname=",new.countryname,"]"));
INSERT INTO country_update_log VALUES (UUID(),SYSDATE(),CONCAT("old[country_code=",old.countryCode,";countryname=",old.countryname,"]"));
END//
DELIMITER ;
【延申】为什么不推荐使用触发器和存储过程?
———摘自互联网
--结束END--
本文标题: MySQL触发器之初见
本文链接: https://www.lsjlt.com/news/2016.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
2024-05-03
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0