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

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>

mysql 触发器 插入或者更新_MySQL 在触发器里中断记录的插入或更新?相关推荐

  1. mysql的判断更新_mysql判断记录是否存在,存在则更新,不存在则插入

    向数据库插入记录时,有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作.这种控制可以放在业务层,也可以放在数据库层,大多数数据库都支持这种需求 ...

  2. mysql after 不起作用_mysql之触发器before和after的区别(2)

    我们先做个测试: 接上篇日志建的商品表g和订单表o和触发器 假设:假设商品表有商品1,数量是10: 我们往订单表插入一条记录: insert into o(gid,much) values(1,20) ...

  3. mysql 事务 返回插入的值_Mysql同一个事务内记录成功插入后查询不出来

    背景: 1)mysql:Ver 14.12 Distrib 5.0.45, for Win32 (ia32) 2)mysql odbc驱动:3.51.22 3)vs2005 4)客户端用ado,odb ...

  4. mysql创建外键级联更新_MySQL使用外键实现级联删除与更新的方法

    本文实例讲述了MySQL使用外键实现级联删除与更新的方法.分享给大家供大家参考,具体如下: MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时 ...

  5. mysql update主键冲突_mysql主键重复,不报错,只更新的操作

    项目中对接一个单点登陆的回调api,需要判断用户是否在库,不在库新增用户,在库更新登陆次数,大概代码如下:<?php $isExist = true; if ($isExist) { inser ...

  6. mysql 插入指定值_mysql实现随机把字段值插入指定表

    今天在一个群里,一个小伙伴问了一个问题,mysql怎么随机把字母A或者B插入到表中的某个字段中去 案例如下: INSERT INTOt_rand(sex)VALUES(ELT(CEILING(rand ...

  7. mysql 对表插入多行_MySQL表中怎么一次插入两行或更多行

    是的,我们可以一次在一个表中插入两行或更多行.以下是语法-insert into yourTableName(yourColumnName1,yourColumnName2) values(yourV ...

  8. mysql 中文字段报错_mysql 中 王数据表中插入中文字段报错:mysql insert into a values(202,王一); ERROR 1366 (HY000): Incorr...

    报错信息: mysql> insert into a values(202,"王一"); ERROR 1366 (HY000): Incorrect string value ...

  9. mysql批量设置自增_mysql自增id怎么批量插入数据

    使用mysql数据库--增 插入一条数据 首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了.这里要解释两件事情. 1.执行sql语句返回的reCount是什么? 这个recount ...

最新文章

  1. JSP 日期处理概述
  2. ML_preprocessing
  3. 服务器write后客户端响应,客户端解析服务器响应的multipart/form-data数据
  4. office连接oracle,Access(VBA)连接Oracle数据库的代码
  5. 小学生在家自学python_小学生都能学会的python(函数)
  6. [css] 解释下 CSS sprites的原理和优缺点分别是什么
  7. 电商素材网站解救节日美工忙,赶紧收藏
  8. c语言计算结果为1. inf0000,C语言复习题及答案老师给的
  9. java剑指offer_剑指offer题目java实现
  10. CCF201509-1 数列分段(100分)
  11. FTPSFTP的基本命令
  12. Oracle密码过期
  13. 上传doc,pdf,ppt,png,jpg,html文件并解析内容
  14. 手把手教你在Unity中实现小地图
  15. 上汽赛可携手几维安全 赋能移动出行安全新业态
  16. MT7603处理器性能,MT7603 wifi芯片介绍
  17. FTM(FlexTimerModule)TIMER总结
  18. 免费App开发解决方案 一键生成App
  19. 【回溯算法】旅行商问题--TSP问题
  20. C#由指定数据生成灰度位图或者彩色位图

热门文章

  1. 2017年vb计算机考试,2017年计算机二级VB考试习题及答案
  2. mysql 求count和_MySQL的统计总数count(*)与count(id)或count(字段)的之间的各自效率性能对比...
  3. webview gif android,使用WebView android读取Gif图像
  4. 多重继承_Java语言编程第25讲——Java中多重继承,也会导致模棱两可的歧义
  5. 设置网页打开默认全屏_提升Adsense收入的三个关键设置
  6. java定义全局变量_矮油,你知道什么是 Java变量的作用域 嘛?
  7. mysql 自动重启 计划_解决MYSQL死机,定时重启MYSQL,wdcp计划任务设定方法,
  8. 段错误linux 内存不够,c - 为什么我的程序在linux-gcc而不是mingw-gcc上出现段错误? - 堆栈内存溢出...
  9. linux开发教程,Java基础面试题(2)
  10. 【Java Web后台实验与开发】CookieSession部分