200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > MySQL 在触发器里中断记录的插入或更新?

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

时间:2022-07-21 23:14:06

相关推荐

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

数据库|mysql教程

MySQL,触发器,中断记录

数据库-mysql教程

培训教育网站源码cms,ubuntu自动加载驱动,tomcat80端口映射,爬虫解析url难点,php获取浏览器指纹,揭阳seo承包lzw

MySQL 不象其它有些数据库可以在触发器中抛出异常来中断当然触发器的执行以阻止相应的SQL语句的执行。在MySQL的目录版本中还无法直接抛出异常。这样我们如何实现呢?

20000个易语言源码解压密码,vscode浏览器安装教程,ubuntu软盘镜像,tomcat 中配置dll,爬虫搜女友,php页面跳转传参,江门seo网站运营如何做,包包网站源码lzw

安卓视频直播app源码,ubuntu 分 efi,tomcat启动时间太长,scrapy爬虫优势,php即时通讯框架,蜘蛛屯刷神马seo排名首页排名lzw

下面是一种实现的方法。思路就是想办法在触发器中利用一个出错的语句来中断代码的执行。

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,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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。