MySQL数据库-MySQL创建触发器(CREATE TRIGGER)

2023-09-08 1587阅读

触发器是与MySQL数据表相关的数据库对象,当满足定义的条件时被触发,并执行触发器中定义的一组语句。触发器的这一特性可以帮助应用程序确保数据库端的数据完整性。在 MySQL 5.7 中,可以使用 CREATE TRIGGER 语句创建触发器。触发器在当前数据库中必须具有唯一的名称。如果您在特定数据库中创建,则名称前面应带有数据库的名称。触发事件,用于指定激活触发器的语句类型。该表必须是永久表,并且触发器不能与临时表或视图关联。一般指行级触发,针对触发事件影响的每一行激活触发器的动作。注意:每个表支持INSERT、UPDATE、DELETE的BEFORE和AFTER,因此每个表最多支持6个触发器。

触发器是与MySQL数据表相关的数据库对象,当满足定义的条件时被触发,并执行触发器中定义的一组语句。 触发器的这一特性可以帮助应用程序确保数据库端的数据完整性。

基本语法

在 MySQL 5.7 中,可以使用 CREATE TRIGGER 语句创建触发器。

语法格式如下:

CREATE <触发器名> < BEFORE | AFTER >

ON <表名> FOR EACH Row<触发器主体>

语法解释如下。

1) 触发器名称

触发器的名称。 触发器在当前数据库中必须具有唯一的名称。 如果您在特定数据库中创建,则名称前面应带有数据库的名称。

2)插入| 更新 | 删除

触发事件,用于指定激活触发器的语句类型。

注:三个触发器的执行时间如下。

3) 之前| 后

MySQL数据库-MySQL创建触发器(CREATE TRIGGER)

BEFORE 和 AFTER(触发触发器的时刻)指示触发器是在激活它的语句之前还是之后触发。 如果要验证新数据是否满足条件,请使用BEFORE选项; 如果要在执行激活触发器的语句后完成多个或多个更改,通常使用 AFTER 选项。

4)表名

与触发器关联的表的名称。 该表必须是永久表,并且触发器不能与临时表或视图关联。 在该表上发生触发事件之前,触发器不会被激活。 同一个表不能有两个具有相同触发时间和事件的触发器。 例如,对于一个数据表,不能同时有两个 BEFORE UPDATE 触发器,但可以有一个 BEFORE UPDATE 触发器和一个 BEFORE INSERT 触发器,或者一个 BEFORE UPDATE 触发器和一个 AFTER UPDATE 触发器。

5) 扳机体

触发器动作体,包括触发器激活时要执行的MySQL语句。 如果要执行多条语句,请使用BEGIN...END复合语句结构。

6) 对于每一行

一般指行级触发,针对触发事件影响的每一行激活触发器的动作。 例如,当使用INSERT语句向表中插入多行数据时,触发器将为插入的每一行数据执行相应的触发动作。

注意:每个表支持INSERT、UPDATE、DELETE的BEFORE和AFTER,因此每个表最多支持6个触发器。 每个表的每个事件一次只允许有一个触发器。 单个触发器不能与多个事件或多个表关联。

另外,在MySQL中,如果需要查看数据库中现有的触发器,可以使用SHOW TRIGGERS语句。

创建 BEFORE 类型触发器

在test_db数据库中,数据表tb_emp8是员工信息表,包括id、name、deptId和salary字段。 数据表tb_emp8的表结构如下:

mysql> SELECT * FROM tb_emp8;
Empty set (0.07 sec)
mysql> DESC tb_emp8;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(22) | YES  | UNI | NULL    |       |
| deptId | int(11)     | NO   | MUL | NULL    |       |
| salary | float       | YES  |     | 0       |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.05 sec)

MySQL数据库-MySQL创建触发器(CREATE TRIGGER)

[示例1] 创建一个名为SumOfSalary 的触发器。 触发条件是在向数据表tb_emp8插入数据之前计算新插入的salary字段值的总和。 输入的SQL语句及执行过程如下:

mysql> CREATE TRIGGER SumOfSalary
    -> BEFORE INSERT ON tb_emp8
    -> FOR EACH ROW
    -> SET @sum=@sum+NEW.salary;
Query OK, 0 rows affected (0.35 sec)

创建触发器SumOfSalary后,向表tb_emp8插入记录时,定义的sum值从0变为1500,即插入值1000和500的和,如下所示

SET @sum=0;
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO tb_emp8
    -> VALUES(1,'A',1,1000),(2,'B',1,500);
Query OK, 2 rows affected (0.09 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> SELECT @sum;
+------+
| @sum |
+------+
| 1500 |
+------+
1 row in set (0.03 sec)

创建 AFTER 类型触发器

在test_db数据库中,数据表tb_emp6和tb_emp7都是员工信息表,包括id、name、deptId和salary字段。 数据表tb_emp6和tb_emp7的表结构如下:

mysql> SELECT * FROM tb_emp6;
Empty set (0.07 sec)
mysql> SELECT * FROM tb_emp7;
Empty set (0.03 sec)
mysql> DESC tb_emp6;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  | MUL | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
mysql> DESC tb_emp7;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(25) | YES  |     | NULL    |       |
| deptId | int(11)     | YES  |     | NULL    |       |
| salary | float       | YES  |     | 0       |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

[示例2] 创建名为double_salary的触发器。 触发条件是向数据表tb_emp6插入数据,然后向数据表tb_emp7插入相同的数据,且salary为tb_emp6中新插入的salary字段值的2。 次。 输入的SQL语句及执行过程如下:

mysql> CREATE TRIGGER double_salary
    -> AFTER INSERT ON tb_emp6
    -> FOR EACH ROW
    -> INSERT INTO tb_emp7
    -> VALUES (NEW.id,NEW.name,deptId,2*NEW.salary);
Query OK, 0 rows affected (0.25 sec)

创建触发器double_salary后,当向表tb_emp6插入一条记录时,同一条记录同时插入表tb_emp7,且salary字段为tb_emp6中salary字段值的两倍,如下所示:

mysql> INSERT INTO tb_emp6
    -> VALUES (1,'A',1,1000),(2,'B',1,500);
Query OK, 2 rows affected (0.09 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM tb_emp6;
+----+------+--------+--------+
| id | name | deptId | salary |
+----+------+--------+--------+
|  1 | A    |      1 |   1000 |
|  2 | B    |      1 |    500 |
+----+------+--------+--------+
3 rows in set (0.04 sec)
mysql> SELECT * FROM tb_emp7;
+----+------+--------+--------+
| id | name | deptId | salary |
+----+------+--------+--------+
|  1 | A    |      1 |   2000 |
|  2 | B    |      1 |   1000 |
+----+------+--------+--------+
2 rows in set (0.06 sec)

黑马程序员之MySQL数据库入门熟练,从mysql安装到mysql进阶、mysql优化全收录

如何在移动硬盘上重装系统?

使用移动硬盘安装系统的步骤如下:

工具/材料

1)移动硬盘一块(可以分区也可以不分区)

2)UltraISO软件

3) 系统ISO镜像

步:

1)打开UltraISO软件,选择其主界面的“文件”菜单命令;

2)选择已经下载好的系统ISO镜像文件(非ghost可以使用自带的安装步骤,无需PE);

3)选择所有打开的文件,右键解压(这里是关键,传统U盘安装系统需要写入,而移动硬盘只需要这样解压即可,无论移动硬盘如何是否已分区,如果写入,则与分区无关)删除几个区域后,软件会默认将整个硬盘格式化为FAT32格式,而FAT32格式只能容纳4G以内的单个文件);

4)选择要使用的移动硬盘或硬盘分区,点击确定;

5)等待文件解压完成;

6)完成后即可通过移动硬盘安装系统。

如何在移动硬盘上安装系统?

移动硬盘安装系统

1、安装PE文件:在U盘和移动硬盘中安装PE。

2、启动PE文件:重启笔记本(台式)电脑,然后我们需要打开电脑中的BIOS设置,然后将U盘设置为第一启动。 打开BIOS后,首先看到的就是hdd、zip、fdd等设置方式,USB在前面,一眼就能看到,不用担心找不到地方。 大多数电脑主板都支持USB启动设置,但启动时间和速度有所不同。 这样PE就可以启动了。 我们需要提前知道,如果使用新主板启动PE,需要1到2分钟; 如果使用旧主板启动PE,需要十几分钟。

3、PE安装硬盘:因为PE刚刚启动,现在我们需要加载虚拟光驱,然后运行安装光盘里面的安装系统,然后格式化C盘。 最后我们需要打开PE,然后选择“FIXNTBOOT.EXE”,将XP2003的启动信息放入电脑的C盘。 这时候你就可以放心的把PE安装到我们的硬盘上了。

4、高级:隐藏PE系统,然后使用U盘重新启动PE系统。 这时,你需要点击PE,找到“winpam”文件,用它来调整U盘中的分区大小,利用多余的空间。 将它们分别展开为一个新分区,然后隐藏主分区。 该方法用于保护主分区。

5、安装系统:将PE放入硬盘,然后重新启动计算机。 这个时候我们就已经安装好系统了。

温馨提示

1、现在的电脑主板大部分都支持BIOS,只有很老的主板不支持BIOS。

2、格式化我们的移动硬盘时,有两种格式可供选择,一种是nfts,一种是FAT32。 如果是第一次安装系统,可以选择第一种格式。

如何使用移动硬盘安装系统?

问题一:如何使用移动硬盘安装系统? 我想用移动硬盘安装WIN7。 。 。 移动硬盘和U盘的安装方法基本相同:

如何在移动硬盘上安装系统:

1、首先将移动硬盘制作成可启动移动硬盘。 上网百度搜索下载“星宇丽云U盘系统2011”U盘启动盘制作程序(也适用于移动硬盘)。 这是一个不错的U盘和移动硬盘启动盘制作程序。 生产工艺简单。 ,速度快,只需2分钟即可完成制作,只需按照提示即可完成。

2、将移动硬盘插入电脑,将第一个分区的数据转移到另一个分区。 运行星宇丽云U盘系统2011程序,弹出安装窗口。 在“请选择要操作的磁盘”窗口中,会出现您的移动硬盘的名称和容量。 在“请选择安装方式”中,请选择移动硬盘号。 分区安装,然后点击“继续”,按照提示进行下一步。 只需几个步骤即可完成安装。

3、下载一个winxpsp3克隆光盘镜像文件,即iso文件,保存到电脑的D盘或者移动硬盘中。

4、将电脑设置为移动硬盘启动,插入移动硬盘重新启动电脑,进入移动硬盘启动菜单,选择第二项,进入win2003pe操作系统;

5、点击win2003pe操作系统桌面上的Virtual Drive Manager虚拟光驱图标运行虚拟光驱,将D盘(或U盘)上的克隆光盘的iso文件加载到虚拟光驱中-只读存储器;

6、点击桌面上的一键GHOST图标运行程序,按照提示打开虚拟光驱上的xp.gho文件,然后按照提示完成系统安装。

问题2:如何在移动硬盘中安装系统? ? ? 您可以将安装文件放在移动硬盘上,从移动硬盘启动电脑来安装Vista! 此安装的效果与从CD启动相同。

1、在XP下激活一个有足够空间的移动硬盘分区(在计算机管理的“磁盘管理”中,右键单击所需分区,选择“将磁盘分区标记为活动”),如下图;

将磁盘分区标记为活动分区

MySQL数据库-MySQL创建触发器(CREATE TRIGGER)

2、使用DaemonToolsT将光盘中的所有文件复制到移动硬盘;

3、在XP命令提示符状态下运行X:\boot\bootsect/nt60x:(X为移动硬盘分区盘符)。 这一步是让移动硬盘成为可启动分区

4、重新启动电脑,在CMOS设置中将第一启动设置为USB启动;

5、使用移动硬盘顺利启动,开始安装Vista。 此过程与 CD 安装相同。 您可以格式化 C 盘并将其安装为单个系统。

问题3:如何使用移动硬盘安装Win7系统? 1、首先你需要有一个移动硬盘,将其插入电脑的USB接口,然后将移动硬盘的任意分区设置为“活动”。 这里我们以“h盘”为例进行说明。 这一步是这样完成的:在桌面上,右键单击计算机,选择-管理,然后会打开“计算机管理”程序窗口,然后选择-磁盘管理,找到h驱动器,然后右键单击,然后选择然后选择“将磁盘分区标记为活动”选项。 执行后,关闭程序窗口。 接下来,在电脑的资源管理器中,右键单击h盘,选择属性,检查磁盘压缩功能是否启用。 如果启用,请务必在常规选项卡下设置“压缩此驱动器以节省磁盘空间”。 检查取消。 (这一步非常重要,如果不取消,系统将无法从移动硬盘启动安装)。

2、将下载到H盘的所有Windows7光盘镜像文件解压或解压。 解压完成后,重新启动电脑,将电脑的启动顺序设置为以u***-hd启动(一般情况下电脑会自动识别你的移动硬盘型号,可以选择从启动)这个驱动器),此时电脑将从移动硬盘启动安装程序,开始安装windows7的旅程。

3、如果机器是2007年以后购买的,从启动到进入系统桌面一般不会超过16分钟。

补充说明:这是我自己做的。 可以说我说的很详细了。 安装速度非常快。 与光盘安装的效果相同。 您可以格式化该分区。 如果您的电脑无法从移动硬盘启动,请检查以上步骤您是否都做到了? 另外,你的机器支持u***设备的启动吗?

问题4:如何使用新购买的移动硬盘安装系统1、首先将U盘制作成au深度U盘启动盘,重新启动电脑等待出现启动画面,按启动快捷键,选择U盘启动,进入U深度主菜单,选择“[04]U Deepin Win2003PE经典版(老机)”选项并按回车键确认。

2、进入win8PE系统,会自动弹出安装工具,点击“浏览”选择win7系统镜像文件并保存到U盘。

3、等待udeepinpe安装工具自动加载win7系统镜像包安装文件。 只需选择安装磁盘位置并单击“确定”按钮即可。

4、此时在弹出的提示窗口中直接点击“确定”按钮即可。

5. 然后安装工具开始工作,请耐心等待几分钟。

6.完成后,会弹出重新启动计算机的提示,单击“是(Y)”按钮。

7、此时,您可以拔出U盘并重新启动系统来开始安装。 无需任何操作。 只需等待安装完成即可。 进入系统桌面之前会再次重新启动。

问题5:如何使用移动硬盘重装系统? 使用UltraISO镜像将安装盘镜像写入您的移动硬盘,然后插入移动硬盘,启动时按F12,进入启动设备列表,选择您的移动硬盘,按回车启动。 安装。

问题六:如何在移动硬盘上安装系统 如何在移动硬盘上安装系统

有点复杂,这里就不重复了。 网络硬盘中提供的是制作好的镜像,可以用来以zip方式启动U盘。 (U盘启动方式有USB-HDD、USB-ZIP、USB-FDD等,ZIP启动方式兼容性更高)

使用ghost32将上图写入U盘或者移动硬盘。 注意:以diskfromimage模式写入。

工具/材料

U盘移动硬盘

步骤/方法

1、U盘和移动硬盘中的PE安装

详细方法请见附件:老九WinPE帮助说明及快速安装工具.rar,

有点复杂,这里就不重复了。 网络硬盘中提供的是制作好的镜像,可以用来以zip方式启动U盘。 (U盘启动方式有USB-HDD、USB-ZIP、USB-FDD等,ZIP启动方式兼容性更高)

使用ghost32将上图写入U盘或者移动硬盘。 注意:写入使用diskfromimage模式。

2.启动U盘版PE

重新启动电脑,在电脑Bios中将USB设置为第一启动(分别选择Zip、HDD、FDD等,优先选择Zip方式),插入U盘。 LoadingRamdiskimage完成后,启动到PE界面。

注1:近两年的电脑主板普遍支持USB启动,但启动速度各不相同。 较新的主板加载上面提供的 38M

PE时间为1-2分钟; 一些较旧的主板负载38M

PE时间为10分钟,有些主板根本不支持USB启动。 这也是使用U盘安装系统的一个弊端。

注2:检查电脑主板是否支持USB启动。 USBBOOT软件可以用来将U盘格式化为DOS启动盘。 方法见下文。 在电脑Bios中将USB设置为第一启动(选择Zip、HDD、FDD等),插入U盘测试电脑能否成功启动进入DOS。 DOS启动失败,基本上USB版本的PE无法启动。

3、使用U盘或移动硬盘安装操作系统

1.将PE系统从U盘转移到硬盘

在U盘或移动硬盘启动的PE中,加载虚拟光驱并运行安装光盘的设置后,会出现找不到有效系统分区的错误信息。 原因是PE不是从电脑硬盘启动的,所以可以先把PE安装到硬盘上。 方法。

MySQL数据库-MySQL创建触发器(CREATE TRIGGER)

a 格式化C盘;

在虚拟PE光盘(一般为X:)的TOOLS\FIXNTBOOT中找到FIXNTBOOT.EXE并运行,将XP\2003启动信息写入C盘;

安装pe到硬盘(pe镜像在U盘中)

2.进阶部分

通过上述方法制作的U盘启动盘,文件较多。 U盘也常用于复制和保存数据文件。 很容易损坏启动盘。 您可以使用方法来隐藏PE系统。 方法如下:

用U盘启动pe系统,找到pe中集成的WinPm(ParagonPartition)

Manager),调整U盘中主分区的大小(38M PE建议40M-50M主分区),将剩余可用空间划分为扩展分区; 并隐藏主分区。 这样设置后,U盘只显示电脑上用于存储数据文件的扩展分区,有效保护了主分区。

隐藏PE所在的主分区也会带来一个问题:PE镜像也被隐藏了。 给硬盘安装PE带来麻烦。 如果U盘较大或者使用移动硬盘,可以将PE镜像保存在用于保存数据的扩展分区中。 另外,还有一个节省空间的方法——使用虚拟光驱软件重新生成PE镜像。 方法如下:

在虚拟PE CD中找到TOOLS\MINIVCD(通常是

2.

安装操作系统

将PE转移到硬盘后,关闭电脑,拔掉U盘,重新启动电脑,PE就在硬盘上运行了! 下一步安装,...

问题7:我在网上下载了iso格式的系统,不知道如何使用移动硬盘安装系统。 ISO 是一个图像文件。 如果浏览的话,可以用虚拟光驱打开,使用daemontools等软件; 如果您想安装系统,无需刻录光盘即可完成。

1、右键点击下载的ISO文件,选择打开---用winrar打开,将文件解压到硬盘上,可以是硬盘上的任意位置。

2、点击解压文件目录中的autorun或setup进行安装。 安装过程会自动将ghost.gho文件复制到D盘,自动重启,自动进入安装。 非常方便,除了最后几个简单的设置外,基本无人值守。

问题8:电脑无法进入系统如何使用移动硬盘重装系统? 15分钟。 首先你要有光驱或者USB口,使用系统安装光盘或者U盘安装盘重做系统。

1、使用U盘制作工具(如“老毛桃U盘启动盘制作工具”)制作U盘启动盘,下载正版系统镜像或纯净版镜像,下载后缀为ISO的镜像文件并复制到U盘根目录。

2、若要使用CD或U盘启动,首先要确认CD或U盘启动功能是否开启。 方法如下:

设置光驱为第一启动

(1)打开或重新启动计算机,按Del(或其他键,具体取决于主板,第一次启动时界面上会有提示)键进入BIOS(如果错过了,可以再试一次,有些笔记本电脑按F2进入BIOS)。

(2) 使用方向键选择AdvancedBIOSFeatures,然后按Enter。

(3) 进入BIOS设置界面后,使用方向键选择FirstBootDevice或(1stBootDevice),然后按Enter键。

(4) 使用方向键选择CDROM 或USB-HDD,按Enter 键。

(5)按F10,然后按“Y”回车(也可以按左上角的ESC键返回BIOS主页,然后用方向键选择SaveExitSetup,按回车,然后按“ Y”并按 Enter 键)。

3. 将光盘放入光驱或将U 盘插入计算机的USB 端口。 重新启动计算机。 计算机将自动从CD-ROM驱动器或U盘启动。 进入CD或U盘界面。 直接用键盘或鼠标选择第一项即可安装系统。 C盘,然后确认,后续操作将自动完成。

问题9:使用移动硬盘重装电脑系统需要哪些步骤? 存在哪些问题? 使用移动硬盘在电脑上安装系统时有几个要点需要注意:

1、您必须安装可自动读入移动硬盘的系统安装方式。 2、安装系统时,首先要进入主板设置,将第一个驱动改为u***。

3、安装时注意你的模式,是要整盘安装还是安装到系统盘,即是否是第一次安装。

4、注意备份自己保存的数据,防止丢失。

问题10:系统可以安装在移动硬盘(如U盘)上吗? 如果是这样,我该如何安装它? 绝对可以安装系统。

第一步,你的电脑主板必须支持优先从USB启动系统(当然也有较新的移动硬盘接口)。 目前大多数计算机都支持此功能,但某些较旧的型号可能不支持。

第二步,将WinPE系统安装在移动硬盘的活动分区中(必须有活动分区)。 找个好的,比如老毛淘、深度等。注意启动系统文件是否完整。

只需三步,下载操作系统光盘镜像安装版,或者光盘镜像GOST版本,存放到电脑硬盘的某个分区,或者移动硬盘的某个分区。

第四步:更改电脑BIOS的启动顺序,将第一启动顺序设置为USB-HDD,即从USB硬盘启动。

五步,启动电脑,从移动硬盘启动WINPE系统。 (这一步很关键,必须使用移动硬盘启动,否则前面的操作就不合适了)。

六步:正常启动后,使用WINPE中的虚拟光驱加载光盘镜像并安装; 或者使用磁盘镜像浏览器打开它,找到其中的GHOST镜像文件,然后使用GHOST进行安装。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]