当前位置:Gxlcms > 数据库问题 > mysql中的事务

mysql中的事务

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

二、事务使用

  1. start <span style="color: #0000ff">transaction</span>; <span style="color: #008080">--</span><span style="color: #008080"> 开启事务</span>
  2. <span style="color: #008080">--</span><span style="color: #008080"> SQL语句1...</span>
  3. <span style="color: #000000">
  4. savepoint sp1; </span><span style="color: #008080">--</span><span style="color: #008080"> 设置回滚点</span>
  5. <span style="color: #008080">--</span><span style="color: #008080"> SQL语句2...</span>
  6. <span style="color: #008080">--</span><span style="color: #008080"> 如果操作失败 可以用rollback退回到回滚点</span>
  7. <span style="color: #0000ff">rollback to </span><span style="color: #000000">sp1;
  8. </span><span style="color: #008080">--</span><span style="color: #008080"> SQL语句3...</span>
  9. <span style="color: #008080">--</span><span style="color: #008080"> 操作完成后,用commit提交事务</span>
  10. <span style="color: #0000ff">commit</span>;

三、自动事务提交

  事务是否自动提交由系统变量autocommit来控制,1为开启,0为关闭。默认是开启状态。

  1. <span style="color: #008080">--</span><span style="color: #008080"> 设置自动事务提交</span>
  2. <span style="color: #0000ff">set</span> autocommit :<span style="color: #808080">=</span> <span style="color: #800000; font-weight: bold">0</span>;  <span style="color: #339966">-- mysql中 = 一般用于比较, := 才是赋值</span>

四、事务的特性--ACID
  A: atomic, 原子性, 整个事务的操作是一个整体,不可分割,要么全部成功,要么全部失败。

  C: consistency, 一致性,事务操作前后,数据表中的数据没有变化。

  I: isolation, 隔离性, 不同的事务操作是相互隔离,不受影响的。

  D: durability, 持久性, 数据一旦提交, 就不会再改变。

  锁机制:innodb默认是行锁, 但当事务操作的过程中,没有使用到索引,那么就会自动升级为表锁,全表检索数据。

mysql中的事务

标签:...   索引   改变   连续   art   修改表   机制   使用   注意   

人气教程排行