MySQL触发器的简单操作
发布时间:2022-11-25 13:01:34 所属栏目:MySql教程 来源:
导读: 触发器是MySQL的数据库对象之一,该对象与编程语言中的函数非常类似,都需要声明、执行等。但触发器的执行不是有程序调用的,也不是有手动启动的,而是有事件来触发、激活从而实现执行。
1、为什么要用
1、为什么要用
|
触发器是MySQL的数据库对象之一,该对象与编程语言中的函数非常类似,都需要声明、执行等。但触发器的执行不是有程序调用的,也不是有手动启动的,而是有事件来触发、激活从而实现执行。 1、为什么要用触发器呢? 先看两个实例: *在学生表中,有用字段学生名字,字段学生总数,每当添加一条关于学生记录时,协商的总数就必须同时改变。 *在客户信息表中,有字段客户名字,字段客户电话和字段客户地址缩写,每当添加一条客户记录时,都需要检查客户电话号码是否正确,客户地址缩写是否正确。 上述实例,业务逻辑不同,但有共同之处,即在表发生更改时,自动进行一些处理。这时就可以使用触发器数据库对象,例如第一个实例mysql触发器,可以创建一个触发器,在添加一条记录时,就执行一次计算学生总数的操作,这样就可以保证每次添加后数据一致。 MySQL软件在触发如下语句时,就会自动执行所设置的操作: *DELETE 语句。 *INSERT 语句。 *UPDATE 语句。 其他SQL语句在不会触发。 2、创建触发器 在MySQL中,创建触发器的SQL语句如下: create trigger trigger_name BEFORE|AFTER trigger_EVENT ON TABLE_NAME FOR EACH ROW trigger_STMT 上述语句中,trigger_name 参数表示要创建的触发器名字,不能与已经创建的重复,BEFORE和AFTER参数指定了触发器执行时间,BEFORE是在触发器事件前,BEFORE是在触发器事件后,trigger_EVENT参数表示触发器执行条件,包含DELETE、INSERT、UPDATE语句,TABLE_NAME表示触发事件操作表的名字,FOR EACH ROW表示任何一条记录的操作都触发,trigger_STMT参数表示激活触发器后被执行的语句。 实例: (1)创建两个表tab1和tab2 DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id int(10) ); DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id int(10) ); (2)创建触发器,实现tab1添加数据时tab2自动添加 CREATE TRIGGER tri_tab1_to_tab2 AFTER INSERT ON tab1 FOR EACH ROW insert into tab2(tab2_id) values(new.tab1_id); (3)向tab1中插入数据 INSERT INTO tab1(tab1_id) values('0001'); (4)查看结果 mysql bin日志查看器_边门正触发改负触发接线图_mysql触发器 3、查看触发器 在MySQL中不能有同名的触发器,所以在新建触发器之前,必须要查看触发器,可以使用如下命令: SHOW TRIGGERS \G; 运行效果如下: mysql bin日志查看器_边门正触发改负触发接线图_mysql触发器 在执行完SHOW TRIGGERS \G命令后,会显示一个列表,在该列表中,会显示出触发器的所有信息。 4、删除触发器 在MySQL中,可以使用DROP TRIGGER trigger_name删除触发器,其中trigger_name是想要删除发触发器名称。 mysql触发器_边门正触发改负触发接线图_mysql bin日志查看器 执行完成后,再次使用命令查看触发器,我们发现已经没有所建的触发器了 (编辑:云计算网_梅州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐



浙公网安备 33038102330479号