mysql触发器(TRIGGER)
来源:互联网 发布:淘宝背景教程 编辑:程序博客网 时间:2024/06/06 05:31
触发器:在执行某个操作时触发一系列的操作。
关键语法: create trigger trigger_name
[before|after] [insert|delete|update] table_name
for each row sql
tirgger_name: 触发器名称、[xx|xx]:xx或者xx、table_name 触发器所关联的表名、sql:sql语句。
触发器如果需要触发执行多条sql语句 需要在 格式应更改为……for each row begin sql end
使用多条sql语句时每条sql用;结尾,为了防止冲突 我们需要使用 delimiter
将sql语句结束符更改为 当然其它的符号也可以。 在编写完成之后再使用 delimiter ; 将结束符变更回 ; 。
具体sql:
#创建一个单条sql的触发器mysql> create trigger tri_test before insert on test1 for each row insert into test2(`name`,c_id) values('lisi',0);Query OK, 0 rows affected (0.00 sec)#查看触发器 ;结尾是用表格的形式展示的 应为过长,会导致布局混乱 所以我用\G结束。#触发器,外键等内容在系统数据库information_schema中都有相对应的表,例如触发器的表就是 trigger表。所以我们也可以通过查询information_schema下的tigger表进行查看。mysql> show triggers\G*************************** 1. row *************************** Trigger: tri_test Event: INSERT Table: test1 Statement: insert into test2(`name`,c_id) values('lisi',0) Timing: BEFORE Created: NULL sql_mode: Definer: root@localhostcharacter_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8mb4_general_ci1 row in set (0.00 sec)#插入一条数据insert into test1(`name`,create_time) values('trigger',now());ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`test`.`test2`, CONSTRAINT `fk_id` FOREIGN KEY (`c_id`) REFERENCES `test1` (`id`) ON DELETE CASCADE)mysql> show triggers tri_test;#注意看上面的错误提示, 是因为我以前对test2的c_id做了外键限制,在test1中没有id =0的数据导致test2拒绝插入。所以下面我将修改触发器。#修改触发器--删除重建。这很mysqlmysql> drop trigger tri_test;Query OK, 0 rows affected (0.00 sec)#重新创建一个触发器 这次是多条sql的。#首先更改结束符为 $mysql> delimiter $#创建触发器mysql> create trigger tri_test after insert on test1 for each row -> begin -> insert into test2(name,c_id) values('trigger1',1); -> insert into test2(name,c_id) values('trigger2',2); -> end $Query OK, 0 rows affected (0.00 sec)#将结束符改回 ;mysql> delimiter ;
阅读全文
0 0
- 【转】mysql-trigger-触发器
- TRIGGER:Mysql触发器
- mysql之触发器trigger
- MYSQL触发器(Trigger)
- mysql 之触发器 trigger
- mysql之触发器trigger
- MySQL触发器 trigger学习
- mysql之触发器trigger
- MySQL触发器trigger
- mysql之触发器trigger
- MySQL数据库触发器(trigger)
- mysql 触发器 trigger
- mysql之触发器trigger
- mysql 触发器trigger
- mysql之触发器trigger
- mysql之触发器trigger
- mysql之触发器trigger
- mysql之触发器trigger
- 同济启明星深基坑支挡结构设计计算软件FRWS 8.1全功能
- servlet 和 jsp的区别与联系
- js 正则表达式根据出生日期获得年龄
- 银盒宝成培训教程之银盒子CRM会员营销一页纸简介 | 银盒宝成
- hive 内置函数
- mysql触发器(TRIGGER)
- 从text文件中读数据
- Hyperledger Fabric SDK 示例 fabric-samples-《balance-transfer》之简介
- OpenCv 中的IplImge数据与常规数组
- cookie 和 session 的区别
- STATA:坐标轴显示小数点前面的0
- Error:Execution failed for task ':app:processDebugResources'.
- getevent获取input上报事件
- js学习地址