mysql 触发器_MySQL入门之触发器
觸發(fā)器作用
當(dāng)操作了某張表時(shí),希望同時(shí)觸發(fā)一些動(dòng)作/行為,可以使用觸發(fā)器完成!!
例如: 當(dāng)向員工表插入一條記錄時(shí),希望同時(shí)往日志表插入數(shù)據(jù)。
首先創(chuàng)建日志表
-- 日志表
CREATE TABLE test_log(
id INT PRIMARY KEY AUTO_INCREMENT,
content VARCHAR(100)
)
-- 需求: 當(dāng)向員工表插入一條記錄時(shí),希望mysql自動(dòng)同時(shí)往日志表插入數(shù)據(jù)
-- 創(chuàng)建觸發(fā)器(添加)
CREATE TRIGGER tri_empAdd AFTER INSERT ON employee FOR EACH ROW -- 當(dāng)往員工表插入一條記錄時(shí)
INSERT INTO test_log(content) VALUES('員工表插入了一條記錄');
-- 插入數(shù)據(jù)
INSERT INTO employee(id,empName,deptId) VALUES(7,'兔斯基',1);
INSERT INTO employee(id,empName,deptId) VALUES(8,'光頭強(qiáng)',1);
-- 查詢(xún)數(shù)據(jù)
SELECT * FROM employee;
SELECT * FROM test_log;
-- 創(chuàng)建觸發(fā)器(修改)
CREATE TRIGGER tri_empUpd AFTER UPDATE ON employee FOR EACH ROW -- 當(dāng)往員工表修改一條記錄時(shí)
INSERT INTO test_log(content) VALUES('員工表修改了一條記錄');
-- 修改
UPDATE employee SET empName='eric' WHERE id=7;
-- 創(chuàng)建觸發(fā)器(刪除)
CREATE TRIGGER tri_empDel AFTER DELETE ON employee FOR EACH ROW -- 當(dāng)往員工表刪除一條記錄時(shí)
INSERT INTO test_log(content) VALUES('員工表刪除了一條記錄');
-- 刪除
DELETE FROM employee WHERE id=7;
總結(jié)
以上是生活随笔為你收集整理的mysql 触发器_MySQL入门之触发器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 昆明大学津桥学院计算机科学与技术,昆明理
- 下一篇: mysql索引使增删变慢_mysql优化