sql触发器

要求,建立一个触发器,当触发器发生的时候,在得到的名字后面拼接上一个时间:
引用一张表:
select * from student;

修改前的表的内容
+----+----------------+-----+-------+-------+
| id | name           | age | class | score |
+----+----------------+-----+-------+-------+
|  1 | honghong       |  18 |     1 |  NULL |
|  2 | 小绿           |  18 |     1 |  NULL |
|  3 | 0              |  18 |     1 |  NULL |
|  4 | 小粉           |  18 |     1 |  NULL |
|  5 | 20170428195451 |  18 |     1 |  NULL |
|  6 | 小好           |  18 |     1 |  NULL |
|  7 | 大高           |  18 |     1 |  NULL |
|  8 | 小geng         |  18 |     1 |  NULL |
|  9 | 小蓝           |  18 |     1 |  NULL |
+----+----------------+-----+-------+-------+

触发器的编写代码:

drop trigger if exists tri;#如果存在先删除
delimiter $$#修改结尾识别符号
create trigger tri before update on student for each row
begin
	set new.name = concat(new.name,date_format(now(),"%Y-%m-%d %H-%M-%s"));
end$$
delimiter ;#修改回以;结尾的sql识别符号

运行:
Query OK, 0 rows affected (0.17 sec)

修改表的内容检查触发器是否添加成功

mysql> update student set name = "小红" where id = 1;

Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0
查看修改后的表的内容

mysql> select * from student;
+----+----------------------------+-----+-------+-------+
| id | name                       | age | class | score |
+----+----------------------------+-----+-------+-------+
|  1 | 小红2017-04_29 07-April-43 |  18 |     1 |  NULL |
|  2 | 小绿                       |  18 |     1 |  NULL |
|  3 | 0                          |  18 |     1 |  NULL |
|  4 | 小粉                       |  18 |     1 |  NULL |
|  5 | 20170428195451             |  18 |     1 |  NULL |
|  6 | 小好                       |  18 |     1 |  NULL |
|  7 | 大高                       |  18 |     1 |  NULL |
|  8 | 小geng                     |  18 |     1 |  NULL |
|  9 | 小蓝                       |  18 |     1 |  NULL |
+----+----------------------------+-----+-------+-------+
9 rows in set (0.00 sec)

触发器添加成功,基本满足了要求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值