mysql 学习记录(十二)--触发器
来源:互联网 发布:淘宝怎么加陌生人好友 编辑:程序博客网 时间:2024/05/16 06:07
一、理论:
1.触发器不能使用采用call的动态sql,不能直接返回数据到客户端
2.不能在触发器中使用开始或者结束事务的语句
3.触发器只能在支持事务的表中回滚
1.触发器不能使用采用call的动态sql,不能直接返回数据到客户端
2.不能在触发器中使用开始或者结束事务的语句
3.触发器只能在支持事务的表中回滚
二、实践:
mysql> use test1;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> create table film_text( -> film_id int(11), -> title varchar(20), -> description varchar(180) -> ) engine = innodb charset = utf8 ;Query OK, 0 rows affected (0.05 sec)mysql> create table film( -> film_id int(11), -> title varchar(20), -> description varchar(180) -> ) engine = innodb charset = utf8 ;Query OK, 0 rows affected (0.02 sec)mysql> CREATE TABLE `tri_demo` ( -> `id` int(11) auto_increment not null primary key, -> `note` varchar(50) DEFAULT NULL -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;Query OK, 0 rows affected (0.03 sec)mysql> create trigger ins_film_bef -> before insert on film for each row begin -> insert into tri_demo(note) values ('before insert'); -> end; -> $$Query OK, 0 rows affected (0.02 sec)mysql> create trigger ins_film_aft -> after insert on film for each row begin -> insert into film_text(title) values ('after insert'); -> end; -> $$Query OK, 0 rows affected (0.02 sec)mysql> create trigger upd_film_bef -> before update on film for each row begin -> insert into tri_demo(note) values ('before update'); -> end; -> $$Query OK, 0 rows affected (0.00 sec)mysql> create trigger upd_film_aft -> after update on film for each row begin -> insert into tri_demo(note) values ('after update'); -> end; -> $$Query OK, 0 rows affected (0.02 sec)mysql> delimiter ;mysql> insert into film values ( 1,'film_name','film_description');Query OK, 1 row affected (0.00 sec)mysql> select * from film;+---------+-----------+------------------+| film_id | title | description |+---------+-----------+------------------+| 1 | film_name | film_description |+---------+-----------+------------------+mysql> select * from tri_demo;+----+---------------+| id | note |+----+---------------+| 1 | before insert |+----+---------------+mysql> update film set title='film_update' where film_id = 1;Query OK, 1 row affected, 1 warning (0.01 sec)Rows matched: 1 Changed: 1 Warnings: 1mysql> select * from film;+---------+--------------------+--------------------------+| film_id | title | description |+---------+--------------------+--------------------------+| 1 | film_update | film_description |+---------+--------------------+--------------------------+1 rows in set (0.00 sec)mysql> select * from tri_demo;+----+---------------+| id | note |+----+---------------+| 1 | before insert || 2 | before update || 3 | after update |+----+---------------+3 rows in set (0.00 sec)mysql> show triggers \G;*************************** 1. row *************************** Trigger: ins_film_bef Event: INSERT Table: film Statement: begininsert into tri_demo(note) values ('before insert');end Timing: BEFORE Created: NULL sql_mode: Definer: root@localhostcharacter_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci*************************** 2. row *************************** Trigger: ins_film_aft Event: INSERT Table: film Statement: begin insert into film_text(title) values ('after insert'); end Timing: AFTER Created: NULL sql_mode: Definer: root@localhostcharacter_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci*************************** 3. row *************************** Trigger: upd_film_bef Event: UPDATE Table: film Statement: begininsert into tri_demo(note) values ('before update');end Timing: BEFORE Created: NULL sql_mode: Definer: root@localhostcharacter_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci*************************** 4. row *************************** Trigger: upd_film_aft Event: UPDATE Table: film Statement: begininsert into tri_demo(note) values ('after update');end Timing: AFTER Created: NULL sql_mode: Definer: root@localhostcharacter_set_client: utf8collation_connection: utf8_general_ci Database Collation: utf8_general_ci4 rows in set (0.01 sec)
0 0
- mysql 学习记录(十二)--触发器
- mysql学习记录:触发器
- mysql 学习记录(二十二)--mysql的应用优化
- 我的MYSQL学习心得(十二) 触发器
- 我的MYSQL学习心得(十二) 触发器
- 我的MYSQL学习心得(十二) 触发器
- Mysql 存储过程,触发器,视图 学习记录
- MySQL触发器实例(记录触发器)
- Mysql入门(十二)之触发器与函数
- mysql 创建触发器 记录
- 无人机驾驶员培训学习记录(十二)
- 手把手教你mysql(十二)触发器
- Oracle数据库(十二)触发器
- 一千行MySQL学习笔记(十二)
- MySQL触发器学习笔记(经典)
- Mysql学习笔记(一)创建触发器
- mysql学习笔记之五(触发器)
- mysql学习(3)触发器、存储过程
- 有效使用Django的QuerySets
- Tsung安装
- Eclipse安装Genymotion
- Amazon OA2准备——Round Robin Java实现
- ValuesQuerySet对象 转换成json
- mysql 学习记录(十二)--触发器
- POJ 1149--PIGS
- POJ 1637 -- Sightseeing tour
- iOS 9新系统下App Store应用上传新指南
- POJ 2391 -- Ombrophobic Bovines
- Java实现约瑟夫环
- POJ 3281 -- Dining
- 史上最全的iOS面试题及答案
- STM32入门学习之USART(STM32F030F4P6基于CooCox IDE)