一.触发器的基本语法:

1、命名规则

CREATE TRIGGERBEFORE

| AFTER }  //触发器触发时间是在事件之前触发还是之后触发(也可以在过程中触发)

{

INSERT | UPDATE | DELETE  //触发器三种事件

}

ON FOR EACH ROW//语句可以是任何合法的语句,包括复合语句,但是这里的语句受的限制和函数的一样

2、触发器的创建

不能给同一张表的同一个事件安排两个触发器,但是可以给同张表定义多个触发器(如:在同一张表对Insert事件定义一个触发器,对update再定义一个触发器)

3、基本的设置

给触发器设置权限:Gank create trigger on to 用户。

回收权限:Revoke create trigger on 表明 from 用户

删除触发器:drop TRIGGER 触发器名

MyISAM:不支持事务,用于只读程序提高性能

InnoDB:支持ACID事务、行级锁、并发

Berkeley DB:支持事务

二:触发器语句

背景:在不修改原工程的情况去做安卓端和服务端的同步操作。为已经存在的项目里面的数据库建张表ict_table_version,然后在需要同步的表上加上一个字段version。(同步方案看文档)。

在需要同步的表上创建触发器。当表进行事物操作时,此表上的rowversion字段取最大值+1,同时ict_table_version表里面的version+1。语句:

CREATE TRIGGER ilt_tak_trigger before update //after出错不知为何

ON ilt_tak

FOR each row

begin

SET new.rowversion = (select max(rowversion)+1 from ict_tak) ;//new是获取前期记录标识。对于Insert语句,只有new是合法的,对于deleted语句,只有old是合法的。对于update语句两者都可以使用。

UPDATE ict_table_version  SET version = version+1 WHERE table_name='ict_tak';//对其它表操作

end

注意在操作两条语句间没有用“and”而是用“;”。

在End前面加上exception  when...then...异常处理语句  End 对异常进行处理。同样,在End前面还可以加上事物回滚。

mysql触发器对同一张表做操作_mysql的触发器同数据库 多表的数据操作相关推荐

  1. 37-博客网站数据库-博文分类信息数据操作(一)

    37-博客网站数据库-博文分类信息数据操作(一) 项目描述 当今网上微博.博客发布信息已经成为主要的信息发布.传播的系统,如何对这些数据进行管理,本项目主要是对博客网站中的博文分类信息表.博文信息表进 ...

  2. 38-博客网站数据库-博文分类信息数据操作(二)

    38-博客网站数据库-博文分类信息数据操作(二) 项目描述 当今网上微博.博客发布信息已经成为主要的信息发布.传播的系统,如何对这些数据进行管理,本项目主要是对博客网站中的博文分类信息表.博文信息表进 ...

  3. 24-在线考试系统数据库-班级学生信息数据操作(三)

    24-在线考试系统数据库-班级学生信息数据操作(三) 项目描述 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的"在线考试系统"也得到了当今远程教育研究者的关注,考试是考察 ...

  4. 25-在线考试系统数据库-班级学生信息数据操作(四)

    25-在线考试系统数据库-班级学生信息数据操作(四) 项目描述 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的"在线考试系统"也得到了当今远程教育研究者的关注,考试是考察 ...

  5. 22-在线考试系统数据库-班级学生信息数据操作(一)

    22-在线考试系统数据库-班级学生信息数据操作(一) 文章目录 22-在线考试系统数据库-班级学生信息数据操作(一) 项目描述 在线考试系统数据库操作要求如下: (1)任务描述 项目描述 伴随着远程教 ...

  6. 23-在线考试系统数据库-班级学生信息数据操作(二)

    23-在线考试系统数据库-班级学生信息数据操作(二) 项目描述 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的"在线考试系统"也得到了当今远程教育研究者的关注,考试是考察 ...

  7. mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点)

    分区表是mysql5.1之后的新特性,合并表已经存在很长时间了.这篇文章主要介绍这两个概念以及他们基本的操作. 一.合并表 合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较 ...

  8. mysql 的新建查询怎么弄_在Navicat中如何新建数据库和表并做查询

    上一篇文章,小编给大家分享了在Navicat中如何远程连接数据库,没有来得及上车的小伙伴可以戳这篇文章:在Ubuntu14.04中配置mysql远程连接教程.今天小编给大家分享一下如何在Navicat ...

  9. MySQL优化调优有没有做过_MySQL 调优/优化的 100 个建议

    MySQL是一个强大的开源数据库.随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈.这里提供 101 条优化 MySQL 的建议.有些技巧适合特定的安装环境,但是思路是相通的.我已经将它们分成 ...

  10. oracle遍历表做查询,oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)...

    语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于 ...

最新文章

  1. 最长公共上升子序列 LCIS
  2. .Net 自定义应用程序配置
  3. oracle视图执行脚本,Sh脚本中查询Oracle v$视图时需要在$号前加转义符“\”
  4. mysql子查询_笔记之MySQL子查询
  5. Integer String int 相互转化
  6. tomcat修改http长度限制_设置tomcat nginx上传文件大小限制
  7. CAT - 监控平台之装配篇
  8. 算法总结之 打印二叉树的边界节点
  9. 微软公布测试版Visual Studio for Mac和Visual Studio 2017 for Windows
  10. 最普通IT男-苦逼coder杂谈
  11. Java基础(五):多线程
  12. 《简明Python教程》--沈洁元
  13. html压缩工具html-minifier -- nodejs常用模块(4)
  14. 推动操作系统发展的主要动力是什么?
  15. PPT锁定了,不能编辑是什么原因
  16. uniapp 使用图表
  17. python3爬虫下载音乐_python3爬虫:下载网易云音乐排行榜
  18. php+供应商管理系统,供应商管理系统
  19. 让你的linux fedora 超过mac帅
  20. 一文带你了解 JavaScript 函数式编程

热门文章

  1. 团队的远程管理_不管理远程团队的7种方法
  2. 区块链必读的书_最好的区块链:5条必读
  3. 大牛用emacs还是vim_Emacs,Vim还是其他?
  4. (3)vue.js安装
  5. 前端:JS/30/综合实例:选项卡(HTML,CSS,JS)
  6. CSS 显示风格 appearance属性
  7. 视觉SLAM笔记(28) Ceres
  8. python 带随机指针的链表深度复制_链表--深度拷贝一个带有随机指针的链表
  9. 社团管理系统用c语言1000,图书馆管理系统C语言啊1000行啊,哪位老哥有啊??...
  10. java web应用开发期末考试_Java开发工程师(Web方向) - 04.Spring框架 - 期末测试