• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL 在触发器里中断记录的插入或更新?

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql触发器,mysql触发器实例,mysql触发器语法,mysql触发器insert,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> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL查询优化--调整内部变量的详解
  • MySQL笔记之触发器的应用
  • 一次非法关机导致mysql数据表损坏的实例解决
  • 如何测试mysql触发器和存储过程
  • mysql 触发器实现两个表的数据同步
  • MySQL触发器学习总结
  • MySQL与SQL的触发器的不同写法
  • 配置MySQL与卸载MySQL实例操作
  • MySQL 在触发器里中断记录的插入或更新?
  • MySQL 5.0触发器参考教程第1/4页

相关文章

  • 2018-12-05MySQL使用变量实现各种排序实例详解
  • 2018-12-05mysql 协议的ResultsetRow包及解析
  • 2017-05-11mysql的group_concat函数使用示例
  • 2018-12-05MySQL中关于information_schema的详细介绍
  • 2018-12-05Oracle中在pl/sql developer修改表的2种方法
  • 2018-12-05SQLServer 批量导入目录文件
  • 2018-12-05sql语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句
  • 2018-12-05MySQL数据库优化(四)——MySQL索引优化
  • 2017-05-11MySQL无法启动1067错误的又一种解决方法(机房断电)
  • 2018-12-05SQLServer2005 XML数据操作代码

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MongoDB中常用的语句总结
    • SQL实现交叉表的方法
    • mysql时间戳转成常用可读时间格式的两种方法
    • 事务概念函数定义与用法汇总
    • sqlserver中Case的使用方法(上下篇)第1/2页
    • mysql千万级数据大表该如何优化?
    • 利用MySQL命令行导出与导入数据库的方法
    • 总结mydumper/myloader使用
    • MySQL创建索引和删除索引的方法
    • Mysql5.7.17在win10系统下安装图文教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有