zoukankan      html  css  js  c++  java
  • day18-事务与连接池 2.事务介绍与mysql下事务操作

    这么玩


     

    真的变了吗?把cmd窗口关闭了看看。


     



     

    就是固定的套路才行:start transaction->执行SQL->rollback;

    执行每一条SQL之前都要start transaction才行,否则rollback是无效的。

    无论是否写start transaction,执行一条SQL语句的时候都是有事务的。为什么这么说?


    mysql数据库默认是自动事务。默认事务是指:写任何一条SQL语句它都有一个事务。

    你写的任何一条SQL语句它的底层是start transaction  update commit。


     以前我们执行时也是有事务的,但是那是一条SQL语句一个事务。start transaction也是有事务的,相对于自动事务的优点是:可以控制N多条SQL语句都在一个事务里面。自动事务是做不了的。自动事务是写一个SQL就一个事务,写一个SQL就一个事务。


     而start transaction是开启了一个事务,下面写了N多条SQL语句都是在一个事务里面的。


    start transaction是人为的手动操作,第二种是mysql本身是提供事务的,自动事务是默认开启的,你写的任何一条SQL语句都是有事务的。如果你把它的值改变了在操作的过程中你就必须手动地commit了。第二个操作一般是一条SQL的时候用。我这操作一条SQL就搞定了那就用自动事务。如果操作是由多条SQL完成那就用start transaction。

  • 相关阅读:
    Python学习心得第二周-作业
    Python学习心得第二周-02 字符串、列表、元组、字典
    Python学习心得第二周-01 数字类型
    eclipse 性能调优之内存分配
    Spring 面试
    技巧 linux 如何显示一个文件的某几行(中间几行)
    命令 scp
    机器学习遇到的好的资料
    maven 使用记录
    “冷启动”问题浅析
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6618158.html
Copyright © 2011-2022 走看看