当前位置:首页 > 日记 > 正文

mysql触发器(触发器)的简明总结和使用

mysql触发器(触发器)的简明总结和使用
1。什么触发

1,个人理解
触发器,字面上,了解触发装置,例如,触发器(哈哈,个人的理解)。例如,当黑暗的时候,你打开灯,你看到东西。你放鞭炮,点燃,就会爆炸。
2,官方定义
触发器(触发器)是一种特殊的存储过程。它的执行不是由程序调用的,也不是手动发起的,而是由事件触发的。例如,当一个表的操作(插入,删除,更新),它会激活它的execution.flip-flops经常被用来加强完整性约束和数据的业务规则,触发器可以在dba_triggers发现,user_triggers数据字典。
触发器的一个非常好的特性是触发器可以禁止或回滚违反引用完整性的更改,从而取消尝试的数据修改。
你是什么意思,比如说,我们都玩过街机游戏,通过了一个水平,做了个记号,一个不从第一个开始就开始了。
官方解释如下
触发程序被认为是单个事务的一部分,因此它可以由原始触发器程序恢复。如果在事务处理过程中检测到严重的错误,例如用户中断,它将自动恢复整个事务。
他在维护数据的完整性方面有着明显的作用,并且有一个例子来说明他的好处,如果代码不是那么复杂的话。

二、触发器语法

复制代码代码如下所示:
创建触发器trigger_name trigger_time trigger_event
在每一行的trigger_stmt tbl_name
触发器程序是与表相关的命名数据库对象,它在表中出现特定事件时激活对象。
触发器的表命名tbl_name.tbl_name相关的必须是一个永久表。触发程序不能与临时表或视图。
trigger_time是作用时间触发程序。它可以在之前或之后,以表明触发器之前或之后激活触发语句。
trigger_event表示语句激活触发program.trigger_event类型可以是下列值之一:
插入:在插入新行时激活触发器,例如,通过插入、加载数据和替换语句。
更新:激活触发器在一行更改时被激活,例如,通过UPDATE语句。
删除:当从表中删除一行时,激活触发器将被激活,例如,通过删除和替换语句。
注意,trigger_event不是SQL语句激活触发器的表操作程序非常相似,这是很重要的。例如,之前关于insert触发器不仅可以通过插入语句激活,而且通过加载数据表。
可能引起混淆的例子是插入。关于重复更新…语法:在每次激活前插入触发器程序,然后在插入或更新触发器之后,更新触发器和后,取决于是否有重复键。
对于一个给定的表,没有两个触发器具有相同的触发器操作时间和事件。例如,在一个表的更新触发器之前没有两个触发器。但是在更新触发器和插入触发器之前有1个,或者在更新触发器和更新触发器1之前有1个触发器。
trigger_stmt是语句时执行触发器被激活。如果你要执行多条语句,您可以使用开始…结束复合语句结构。通过这种方式,您可以使用存储子程序中所允许的语句。

三,创建一个发送器

1、用户表用户
复制代码代码如下所示:
创建表(用户)
` ID ` int(11)不为空auto_increment评论的用户ID,
`名字` varchar(50)不为空的默认'评论'名',
`性` int(1)不为空的默认'0'comment 0为男性,1为女性,
主键(id)
)= MyISAM引擎默认的字符集utf8;

插入'用户'(id,‘名称',‘性'值
(1,张颖,0)。
(2,'tank ',0);

2、评审表注释

复制代码代码如下所示:
创建表(注释)
` c_id ` int(11)不为空auto_increment评论评论ID,
` u_id ` int(11)不为空的用户ID的评论,
`名字` varchar(50)不为空的默认评论用户名,
`内容` varchar(1000)不为空的默认的评论的评论内容,
主键(` c_id `)
)= MyISAM引擎默认的字符集utf8;

插入`评论`(` c_id `,` u_id `,`名字`,`内容`)值
(1, 1,张颖,触发测试),
(2, 1,张颖,解决方案域冗余)
(3, 2,'tank ','使代码更简单);
这里有一个冗余字段,我们发现用户表名在读注释中可以用来联合搜索,为什么有冗余字段,因为一个简单的SQL语句更高效,但不是冗余字段更好,多冗余字段,也会增加数据库的负担。
我想做的是,当我更新用户表的名称时,触发器将同时更新注释表,所以不要编写PHP代码来更新它。当用户被删除时,注释表中的用户数据将被删除。

3,更新名称触发器

复制代码代码如下所示:
分隔符 / / MySQL | |默认结束的标志是一个分号,当你有一个分号写存储过程或触发器,将暂停执行的
删除触发器是否存在updatename | | / /删除触发器名称,
创建触发器的每一行 / /用户更新后updatename创建触发器,
开始
旧的,新的是表示当前操作的记录行,您将它看作是一个表名。
如果new.name!= old.name那么 / /当用户表的名称更改,执行
更新评论集的评论。名称= new.name哪里u_id = old.id评论;
最后如果;
最后| |
Delimiter;

4,触发器删除注释数据。

复制代码代码如下所示:
Delimiter | |
如果存在deletecomment | |触发降
创建触发器deletecomment在每行的用户删除
开始
评论,评论删除。u_id = old.id;
最后| |
Delimiter;
有一件事非常令人沮丧,也就是说,触发代码不能修改,你必须删除和重建。在黑暗中,还有一件事,就是phpMyAdmin。有些可以创造触发器,有些不能,有些可以创建,但它不能被看到。

5,测试触发器是否可用。

一、测试更新触发器
复制代码如下:更新用户组名称=苍鹰ID = 1;
更新后,转到注释表,查看内部的名称字段是否有任何更改。

B,测试删除触发器
复制代码代码如下:从id = 1的用户中删除;
更新后,转到注释表,查看内部的名称字段是否有任何更改。

四、人字拖的优点

1,触发器的自动性。
对于程序员来说,触发器是看不到的,但他做的事情,如果不触发,如果你更新了用户名字段的用户表,冗余字段你会写代码来更新我里面的另一个表,例如,只是一个表,如果有几张表是多余的字段,你的代码是不会写很多的,看起来不是很准确。
2,触发器的数据完整性
触发器具有回滚属性。例如,我发现我非常喜欢解除按钮,也就是说,如果您想更新五个表的数据,就不会更新两个表,而其他三个表也不会更新。
但是如果你用PHP代码写它,它就会发生。例如,您更新了两个表的数据,此时数据库挂起了。您有些郁闷,有些更新了,有些没有更新。

相关文章

从word文件中提取技术

从word文件中提取技术

文件,技术,电脑软件,word,问题: 朋友们翻到一个字2010文档。里面有很多照片。他们只想保留这些照片。如果复制、粘贴和保存为新文件,这是非常麻烦的。有没有很好的方法快速地从单词中提取图片 答案uff1a 快速从word文件中提取图片,并参考以…

Windows8.1更新1开机默认进入桌面

Windows8.1更新1开机默认进入桌面

默认,设置,桌面,电脑软件,注释:在构建9600.16608版本中出现了一个新的默认启动设置,它可以直接进入桌面系统。直接进入桌面是Windows 8.1已经存在的特性。感兴趣的朋友可以理解这篇文章。 最近,关于Windows 8.1的消息我们非常密集。现在有一个…

对swimsuitnetwork.exe-swimsuitne

对swimsuitnetwork.exe-swimsuitne

作用,电脑软件,swimsuitnetwork,exe,点评:swimsuitnetwork.exe是间谍软件相关进程。这个进程监视你的浏览行为,通过它去分析它的服务器进程也会弹出广告。 进程文件:swimsuitnetwork或swimsuitnetwork.exe 进程名称:保护材料swimsuitnetwork …

Word2007更改页眉或页脚的内容的方

Word2007更改页眉或页脚的内容的方

方法,页眉,内容,电脑软件,1、在Word2007插入的标签;;页眉和页脚组中,单击;头或页脚; 2,通过选择文本和修改,或使用迷你工具栏上的选项设置文本格式来更改页眉或页脚。例如,可以更改字体、应用粗格式或应用不同的字体颜色。 提示:查看页面视图(页面视…

Win8不能进入启动解决方案

Win8不能进入启动解决方案

解决方案,启动,电脑软件,评论:谁发挥Win8的朋友,必须适应这种情况,要进入启动选项,但我不知道从哪里进入。不喜欢win7,什么F2,F12,和将去设置的选项。这里是Win8系统的启动方法介绍。 1。Win8系统下,设置mdash;mdash;电力mdash;mdash;启动。 2,按住Shift…

会话信息存储在文件目录中,可以保存

会话信息存储在文件目录中,可以保存

类型,数字,文件,目录中,电脑软件,的1.session信息储存在哪里 复制代码代码如下所示: session_start(); _session美元{ 'name' } = 'marcofly; > 会话保存到C: Windows 临时目录,默认情况下,但在php.ini修改session.save_path值,会话的保存路径…

oracle常见错误代码(三)的分析与解决

oracle常见错误代码(三)的分析与解决

常见错误,代码,电脑软件,oracle,Oracle当然你看到的是Oracle的常见错误代码的分析与解决(三)。ora-00600:内部错误代码,参数:{数量},{ },{ },{ },{ } 原因:这种错误通常是Oracle的一个内部错误,这对于开源软件和oracle.ora-600误差经常陪的跟踪文件的…

oracle备份恢复的具体方法

oracle备份恢复的具体方法

方法,备份恢复,电脑软件,oracle,1.1数据库全数据库备份 注意:此操作需要启动数据库。 切换到Oracle用户并在OS端创建备份使用目录: mkdir /甲骨文/备份 登录到Oracle数据库并在数据库中创建备份使用目录 SQLPLUS /数据库 创建目录backup…

对nero.exe使用-尼禄是什么

对nero.exe使用-尼禄是什么

电脑软件,nero,exe,点评:nero.exe是一个CD / DVD刻录软件相关程序提前尼禄,用来记录音乐和影视的CD和DVD媒体 进程文件:尼禄或nero.exe 过程名称:尼禄前面 过程类别:安全风险的过程 英文描述: nero.exe是一个过程,属于前面内付的CD和DVD编写的应…

如何建立一个计算机密码Win8.1唤醒

如何建立一个计算机密码Win8.1唤醒

唤醒,密码,建立一个,电脑软件,复习:电脑睡觉后需要重新输入密码才能唤醒电脑,这样才能登陆系统。在这里我们要看看如何设置一台电脑来唤醒密码操作技巧,感兴趣的朋友可以参考下一个。 用户使用系统知道在计算机睡眠需要重新输入密码才能唤醒计…

什么过程pccnt过程查询pccnt.exe是

什么过程pccnt过程查询pccnt.exe是

查询,过程,电脑软件,pccnt,exe,点评:pccnt.exe是趋势PC-cillin杀毒软件相关程序来保护计算机免受病毒攻击 进程文件:pccnt或pccnt.exe 进程名称:趋势科技PC-cillin杀毒软件控制台 过程类别:安全风险的过程 英文描述: pccnt.exe是一个过程,属于…

Word2003打开多文档操作的同时

Word2003打开多文档操作的同时

操作,多文档,电脑软件,很多时候,在Word的操作中,需要同时打开多个文档一起编辑,那么如何操作呢 先运行word文档,然后打开文件中的打开命令,然后找到存放文档的目录。 方法1,直接鼠标左键拖动,然后打开; 方法二:单击键盘上的Shift键并单击鼠标左键,这…