加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL数据库MySQL 在触发器里中断记录的插入或更新?

发布时间:2020-12-12 02:40:39 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库MySQL 在触发器里中断记录的插入或更新?》要点: 本文介绍了MYSQL数据库MySQL 在触发器里中断记录的插入或更新?,希望对您有用。如果有疑问,可以联系我们。 下面是一种实现的方法.思路就是想办法在触发器中利用一个出错的语句来中断代码的执

《MYSQL数据库MySQL 在触发器里中断记录的插入或更新?》要点:
本文介绍了MYSQL数据库MySQL 在触发器里中断记录的插入或更新?,希望对您有用。如果有疑问,可以联系我们。

下面是一种实现的方法.思路就是想办法在触发器中利用一个出错的语句来中断代码的执行.
mysql> create table t_control(id int primary key);
Query OK,0 rows affected (0.11 sec)
mysql> insert into t_control values (1);
Query OK,1 row affected (0.05 sec)
mysql> create table t_bluerosehero(id int primary key,col int);
Query OK,0 rows affected (0.11 sec)
mysql> delimiter //
mysql> create trigger tr_t_bluerosehero_bi before insert on t_bluerosehero
-> for each row
-> begin
-> if new.col>30 then
-> insert into t_control values (1);
-> end if;
-> end;
-> //
Query OK,0 rows affected (0.08 sec)
mysql> delimiter ;
mysql>
mysql> insert into t_bluerosehero values (1,20);
Query OK,1 row affected (0.25 sec)
mysql> insert into t_bluerosehero values (2,40);
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
mysql>
mysql> select * from t_bluerosehero;
+----+------+
| id | col |
+----+------+
| 1 | 20 |
+----+------+
1 row in set (0.00 sec)
mysql>
或者
mysql> delimiter //
mysql> create trigger tr_t_bluerosehero_bi before insert on t_bluerosehero
-> for each row
-> begin
-> declare i int;
-> if new.col>30 then
-> insert into xxxx values (1);
-> end if;
-> end;
-> //
Query OK,0 rows affected (0.06 sec)
mysql> delimiter ;
mysql> delete from t_bluerosehero;
Query OK,3 rows affected (0.05 sec)
mysql> insert into t_bluerosehero values (1,1 row affected (0.06 sec)
mysql> insert into t_bluerosehero values (2,40);
ERROR 1146 (42S02): Table 'csdn.xxxx' doesn't exist
mysql>

欢迎参与《MYSQL数据库MySQL 在触发器里中断记录的插入或更新?》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读