当前位置:Gxlcms > 数据库问题 > Mysql中的触发器

Mysql中的触发器

时间:2021-07-01 10:21:17 帮助过:30人阅读

什么是触发器:

  简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行。

特点:

  触发事件的操作和触发器里面的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行。

作用:

  保证数据的完整性,起到约束的作用。

实验:

  创建触发器,记录表的增、删、改 操作记录

  创建user和user_history表,以及三个触发器tri_insert_user、tri_update_user、tri_delete_user,分别对应user表的增、删、改 三件事。

创建user表:

 

  1. <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;">`;
  2. </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;">` (
  3. </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,
  4. </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;">,
  5. </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;">,
  6. </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;">,
  7. </span><span style="color: #008080;">7</span> <span style="color: #0000ff;">PRIMARY</span> <span style="color: #0000ff;">KEY</span><span style="color: #000000;"> (`id`)
  8. </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   

人气教程排行