mysql的触发器功能如何使用?求具体的!!
展开全部
create trigger 触发器名称
after/before insert/update/delete on 表名
for each row
begin
sql 语句—一个或者多个语句范围在 insert/update/delete内;
end
after/before insert/update/delete on 表名
for each row
begin
sql 语句—一个或者多个语句范围在 insert/update/delete内;
end
追问
请问这个触发器有什么功能?有什么用途?何时需要用到触发器功能?举个例子。感激不尽啊大哥
追答
当你对某个表A进行增删改的时候,同时需要对另一个表B做操作或者是其他操作,你就可以在表A上创建一个增删改的触发器,来实现同时对另一个表进行操作或者是其他操作。实现的语句写在 begin ......end 之间
------------
例如:对表A进行添加同时又要在表B中添加(删除/修改)一条数据
create trigger A_insert (触发器名称)
after insert on A (A是表名,也就是你操作的那张表)
for each row (固定格式)
begin
insert into B values(列1,列2,列3);
end
-----------
ps:
1)在begin...end 之间可以写你想实现的任意语句,上面所创建的是一个添加触发器,你也可以创建一个删除和修改的触发器,只需将关键字 insert修改成update或者delete 。(解释:当你需要对一个表进行增删改操作时,同时又需要做另一个操作,可以用触发器实现.)
2)如何在触发器中知道你所操作的数据
添加:可以在临时表new中查询
删除:可以在临时表old中查询
修改:修改前的数据在new中查询,修改后的数据在old中查询.
例如:select * from new (查询你插入的数据 注意:临时表old 和new 只有当触发器被触发时才有,其他情况是没有的!)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询