Mysql触发器
1.创建触发器
注意:触发器只能创建在永久表上,不能对临时表创建触发器,语法如下:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name FOR EACH ROW trigger_stmt
trigger_time:触发器触发的时间,可以使before或者after,before是指的在检查约束前触发,而after是检查约 束后触发.
trigger_event:触发器触发的事件,可以是insert,update或者delete.
使用别名old和new来引用触发器中发生变化的记录内容,现在触发器还只支持行级触发,不支持语句级触发.
2.创建一个student表,复制一份命名为student_back:
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
3.创建触发器:
delimiter $$
CREATE TRIGGER ins_stu AFTER INSERT ON student FOR EACH ROW
BEGIN
INSERT INTO student_back (id, NAME, age)
VALUES
(new.id, new. NAME, new.age) ;</