时间:2021-07-01 10:21:17 帮助过:30人阅读
什么是触发器:
简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行。
特点:
触发事件的操作和触发器里面的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行。
作用:
保证数据的完整性,起到约束的作用。
实验:
创建触发器,记录表的增、删、改 操作记录
创建user和user_history表,以及三个触发器tri_insert_user、tri_update_user、tri_delete_user,分别对应user表的增、删、改 三件事。
创建user表:
- <span style="color: #008080;">1</span> <span style="color: #0000ff;">DROP</span> <span style="color: #0000ff;">TABLE</span> <span style="color: #0000ff;">IF</span> <span style="color: #808080;">EXISTS</span> `<span style="color: #ff00ff;">user</span><span style="color: #000000;">`;
- </span><span style="color: #008080;">2</span> <span style="color: #0000ff;">CREATE</span> <span style="color: #0000ff;">TABLE</span> `<span style="color: #ff00ff;">user</span><span style="color: #000000;">` (
- </span><span style="color: #008080;">3</span> `id` <span style="color: #0000ff;">bigint</span>(<span style="color: #800000; font-weight: bold;">20</span>) <span style="color: #808080;">NOT</span> <span style="color: #0000ff;">NULL</span><span style="color: #000000;"> AUTO_INCREMENT,
- </span><span style="color: #008080;">4</span> `account` <span style="color: #0000ff;">varchar</span>(<span style="color: #800000; font-weight: bold;">255</span>) <span style="color: #0000ff;">DEFAULT</span> <span style="color: #0000ff;">NULL</span><span style="color: #000000;">,
- </span><span style="color: #008080;">5</span> `name` <span style="color: #0000ff;">varchar</span>(<span style="color: #800000; font-weight: bold;">255</span>) <span style="color: #0000ff;">DEFAULT</span> <span style="color: #0000ff;">NULL</span><span style="color: #000000;">,
- </span><span style="color: #008080;">6</span> `address` <span style="color: #0000ff;">varchar</span>(<span style="color: #800000; font-weight: bold;">255</span>) <span style="color: #0000ff;">DEFAULT</span> <span style="color: #0000ff;">NULL</span><span style="color: #000000;">,
- </span><span style="color: #008080;">7</span> <span style="color: #0000ff;">PRIMARY</span> <span style="color: #0000ff;">KEY</span><span style="color: #000000;"> (`id`)
- </span><span style="color: #008080;">8</span> ) ENGINE<span style="color: #808080;">=</span>InnoDB <span style="color: #0000ff;">DEFAULT</span> CHARSET<span style="color: #808080;">=</span>utf8;
Mysql中的触发器
标签:原子性 arch com 特点 logs creat char div class