mysql命令行和navicat工具插入、删除触发器写法

 

 

亲测添加数据库中,添加a表中记录,b表中相关数据跟随变化。

提示:demiliter更换mysql结束符。由 ;变成$$(直接delimiter $$(直接回车))。

插入触发器写法:

mysql> create trigger tr2
    -> after insert on o
    -> for each row
    -> begin
    -> update g set num=num-new.much where gid=new.gid;
    -> end$$

数据库结构(如下图)

a\b表分别为g\o表数据

 

以下为运行mysql命令行测试数据(可借鉴)

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| source             |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> use source
Database changed
mysql> show tables
    -> ;
+------------------+
| Tables_in_source |
+------------------+
| db_score         |
| db_user          |
| g                |
| o                |
+------------------+
4 rows in set (0.00 sec)

mysql> select * from g;
+-----+--------+------+
| gid | name   | num  |
+-----+--------+------+
|   1 | 闉嬪瓙   |   25 |
|   2 | 澶栧   |   30 |
|   3 | 鎵嬪   |   40 |
|   4 | 瑁ゅ瓙   |   19 |
+-----+--------+------+
4 rows in set (0.00 sec)

mysql> select * from o;
+-----+------+------+
| oid | gid  | much |
+-----+------+------+
|   1 |    1 |    1 |
|   2 |    1 |    1 |
|   3 |    4 |    2 |
|   6 |    4 |    1 |
+-----+------+------+
4 rows in set (0.00 sec)

mysql> delimiter $$
mysql> select * from o;
    -> $$
+-----+------+------+
| oid | gid  | much |
+-----+------+------+
|   1 |    1 |    1 |
|   2 |    1 |    1 |
|   3 |    4 |    2 |
|   6 |    4 |    1 |
+-----+------+------+
4 rows in set (0.00 sec)

mysql> create trigger tr2
    -> after insert on o
    -> for each row
    -> begin
    -> update g set num=num-new.much where gid=new.gid;
    -> end$$
Query OK, 0 rows affected (0.11 sec)

mysql> insert o values(7,1,2)$$
Query OK, 1 row affected (0.10 sec)

mysql> select * from g
    -> $$
+-----+--------+------+
| gid | name   | num  |
+-----+--------+------+
|   1 | 闉嬪瓙   |   23 |
|   2 | 澶栧   |   30 |
|   3 | 鎵嬪   |   40 |
|   4 | 瑁ゅ瓙   |   19 |
+-----+--------+------+
4 rows in set (0.00 sec)

mysql>

以下为navicat触发器呈现(可仿着写)

 

删除触发器写法(简写)

mysql> create trigger tr3
    -> after delete on o
    -> for each row
    -> begin
    -> update g set num=num-old.much where gid=old.gid;
    -> end$$

 

navicat删除触发器写法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值