触发器是与表有关的数据库对象,指在insert/update/delete之前或者之后,触发并执行触发器中定义的sql语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。
//创建
CREATE TRIGGER trigger_name
BEFORE/AFTER INSERT/UPDATE/DELETE
ON tbl_name FOR EACH ROW //行级触发器
BEGIN
trigger_stmt;
END;
//查看
SHOW TRIGGERS;
//删除
DROP TRIGGER trigger_name;
create table user_logs(
id int(11)not null auto_increment,
operation varchar(20) not null comment '操作类型, insert/update/delete ' ,
operate_time datetime not null comment '操作时间',
operate_id int(11) not null comment '操作的ID',
operate_params varchar(500) comment '操作参数',
primary key( id `)
)engine=innodb default charset=utf8;
create trigger tb_user_insert_trigger
after insert on tb_user for each row
begin
insert into user_logs(id, operation,operate_time,operate_id,operate_params) VALUES
(null,'insert' , now(),new.id, concat( '插入的数据内容为: id=', new.lid,', name= ',
new.name,', phone=',NEW.phone,',
end;