正在阅读:MySQL 5.0 新特性教程 触发器:第一讲MySQL 5.0 新特性教程 触发器:第一讲

2005-09-08 10:07 出处: 作者:mysql AB;翻译:陈朋奕 责任编辑:moningfeng

Example of CREATE and INSERT CREATE和INSERT的例子

  CREATE table with trigger创建有触发器的表

  这里所有的例程中我都假定大家的分隔符已经设置成//(DELIMITER //)。

CREATE TABLE t22 (s1 INTEGER)//

CREATE TRIGGER t22_bi
BEFORE INSERT ON t22
FOR EACH ROW
BEGIN
SET @x = 'Trigger was activated!';
SET NEW.s1 = 55;
END;//


  在最开始我创建了一个名字为t22的表,然后在表t22上创建了一个触发器t22_bi,当我们要向表中的行插入时,触发器就会被激活,执行将s1列的值改为55的动作。

  INSERT on table w ith a trigger使用触发器执行插入动作

mysql> INSERT INTO t22 VALUES (1)//


  让我们看如果向表t2中插入一行数据触发器对应的表会怎么样?

  这里的插入的动作是很常见的,我们不需要触发器的权限来执行它。甚至不需要知道是否有触发器关联。

mysql> SELECT @x, t22.* FROM t22//
+------------------------+------+
| @x | s1 |
+------------------------+------+
| Trigger was activated! | 55 |
+------------------------+------+
1 row in set (0.00 sec)


  大家可以看到INSERT动作之后的结果,和我们预期的一样,x标记被改动了,同时这里插入的数据不是我们开始输入的插入数据,而是触发器自己的数据。
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品