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,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 在触发器里中断记录的插入或更新?相关推荐
- mysql的判断更新_mysql判断记录是否存在,存在则更新,不存在则插入
向数据库插入记录时,有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作.这种控制可以放在业务层,也可以放在数据库层,大多数数据库都支持这种需求 ...
- mysql after 不起作用_mysql之触发器before和after的区别(2)
我们先做个测试: 接上篇日志建的商品表g和订单表o和触发器 假设:假设商品表有商品1,数量是10: 我们往订单表插入一条记录: insert into o(gid,much) values(1,20) ...
- 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 ...
- mysql创建外键级联更新_MySQL使用外键实现级联删除与更新的方法
本文实例讲述了MySQL使用外键实现级联删除与更新的方法.分享给大家供大家参考,具体如下: MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时 ...
- mysql update主键冲突_mysql主键重复,不报错,只更新的操作
项目中对接一个单点登陆的回调api,需要判断用户是否在库,不在库新增用户,在库更新登陆次数,大概代码如下:<?php $isExist = true; if ($isExist) { inser ...
- mysql 插入指定值_mysql实现随机把字段值插入指定表
今天在一个群里,一个小伙伴问了一个问题,mysql怎么随机把字母A或者B插入到表中的某个字段中去 案例如下: INSERT INTOt_rand(sex)VALUES(ELT(CEILING(rand ...
- mysql 对表插入多行_MySQL表中怎么一次插入两行或更多行
是的,我们可以一次在一个表中插入两行或更多行.以下是语法-insert into yourTableName(yourColumnName1,yourColumnName2) values(yourV ...
- mysql 中文字段报错_mysql 中 王数据表中插入中文字段报错:mysql insert into a values(202,王一); ERROR 1366 (HY000): Incorr...
报错信息: mysql> insert into a values(202,"王一"); ERROR 1366 (HY000): Incorrect string value ...
- mysql批量设置自增_mysql自增id怎么批量插入数据
使用mysql数据库--增 插入一条数据 首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了.这里要解释两件事情. 1.执行sql语句返回的reCount是什么? 这个recount ...
最新文章
- JSP 日期处理概述
- ML_preprocessing
- 服务器write后客户端响应,客户端解析服务器响应的multipart/form-data数据
- office连接oracle,Access(VBA)连接Oracle数据库的代码
- 小学生在家自学python_小学生都能学会的python(函数)
- [css] 解释下 CSS sprites的原理和优缺点分别是什么
- 电商素材网站解救节日美工忙,赶紧收藏
- c语言计算结果为1. inf0000,C语言复习题及答案老师给的
- java剑指offer_剑指offer题目java实现
- CCF201509-1 数列分段(100分)
- FTPSFTP的基本命令
- Oracle密码过期
- 上传doc,pdf,ppt,png,jpg,html文件并解析内容
- 手把手教你在Unity中实现小地图
- 上汽赛可携手几维安全 赋能移动出行安全新业态
- MT7603处理器性能,MT7603 wifi芯片介绍
- FTM(FlexTimerModule)TIMER总结
- 免费App开发解决方案 一键生成App
- 【回溯算法】旅行商问题--TSP问题
- C#由指定数据生成灰度位图或者彩色位图
热门文章
- 2017年vb计算机考试,2017年计算机二级VB考试习题及答案
- mysql 求count和_MySQL的统计总数count(*)与count(id)或count(字段)的之间的各自效率性能对比...
- webview gif android,使用WebView android读取Gif图像
- 多重继承_Java语言编程第25讲——Java中多重继承,也会导致模棱两可的歧义
- 设置网页打开默认全屏_提升Adsense收入的三个关键设置
- java定义全局变量_矮油,你知道什么是 Java变量的作用域 嘛?
- mysql 自动重启 计划_解决MYSQL死机,定时重启MYSQL,wdcp计划任务设定方法,
- 段错误linux 内存不够,c - 为什么我的程序在linux-gcc而不是mingw-gcc上出现段错误? - 堆栈内存溢出...
- linux开发教程,Java基础面试题(2)
- 【Java Web后台实验与开发】CookieSession部分