mysql创建触发器#语法
CREATE TRIGGER cname ctime cevent
ON ctb_name FOR EACH ROW
BEGIN
ctrigger_stmt
END
#介绍
cname:#触发器的名称
ctime:#触发时机,为BEFORE或者AFTER
cevent:#触发事件,为INSERT、DELETE或者UPDATE
ctb_name:#表示建立触发器的表明,就是在哪张表上建立触发器
ctrigger_stmt:#触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句
#所以可以说MySQL创建以下六种触发器:
#之前事情
BEFORE INSERT,BEFORE DELETE,BEFORE UPDATE
#之后事情
AFTER INSERT,AFTER DELETE,AFTER UPDATE
#规范
CREATE TRIGGER testtrigger BEFORE|AFTER 触发事件
ON 表名 FOR EACH ROW
BEGIN
--执行语句列表
END
NEW.columnname #新增行的某列数据
OLD.columnname #删除行的某列数据
实例
#实例#创建表
create table testuser(
Id int primary key auto_increment,#编号 整形 主键 自增长
Name varchar(18),#
age varchar(100)#描述
);
create table testu(
Id int primary key auto_increment,#编号 整形 主键 自增长
Name varchar(18),#
description varchar(100)#描述
);
#创建触发器
CREATE TRIGGER testusertr AFTER insert
ON testuser FOR EACH ROW
BEGIN
insert into testu t (Name,description) value(new.name,new.age);
END;
#执行调用测试
insert into testuser (name,age)value('12','12');