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

Yuan先生c

Yuan先生c

2016-02-19 09:42

下面图老师小编要跟大家分享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.col30 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.col30 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,20);
Query OK, 1 row affected (0.06 sec)
mysql insert into t_bluerosehero values (2,40);
ERROR 1146 (42S02): Table 'csdn.xxxx' doesn't exist
mysql
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
MySQL 在触发器里中断记录的插入或更新?

MySQL 5.0 触发器

MySQL mysql数据库
MySQL 5.0 触发器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

教你使用MySQL触发器自动更新Memcache

编程语言 网络编程
教你使用MySQL触发器自动更新Memcache

MySQL5触发器教程

编程语言 网络编程
MySQL5触发器教程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL 5.0触发器参考教程

编程语言 网络编程
MySQL 5.0触发器参考教程

MySQL 5.0-触发器(参考)

编程语言 网络编程
MySQL 5.0-触发器(参考)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

QQ音乐播放器打开提示JLuiaxhostwnd创建失败怎么办

QQ音乐播放器打开提示JLuiaxhostwnd创建失败怎么办

ajax实现session不过期(避免页面过期的现象)

ajax实现session不过期(避免页面过期的现象)
下拉加载更多内容 ↓