zoukankan      html  css  js  c++  java
  • 005 Sql 中需要注意的事务问题.md

    005 Sql 中需要注意的事务问题

    SqlServer 中开启与关闭事务

    select * from TestTransaction;
    
    -- 开启事务
    Begin Transaction -- isolation read committed 
    
    -- 带条件的更新
    update TestTransaction set name = '李四' where id = 1;
    
    -- 插入数据
    INSERT INTO TestTransaction(NAME,age)  VALUES('张三',18); 
    
    -- 提交事务
    COMMIT Transaction
    
    -- 回滚事务
    ROLLBACK Transaction

    MySql中开启与关闭事务

    select * from TestTransaction;
    
    -- 开启事务
    START TRANSACTION;
    
    -- 带条件的更新
    
    update TestTransaction set name='李四' where id = 1;
    
    -- 插入数据
    insert into TestTransaction(name,age)  values('张三',18); 
    
    -- 提交事务
    COMMIT 
    
    -- 回滚事务
    ROLLBACK
    

    值得注意的是,在数据库表中,如果我们建立的表没有建立主键将面临严重的问题,当此表在事务中被进行Insert操作,并且在事务进行中,那么当别的任何数据库连接对象,来查询或者操作此表时,整个表都是被锁定状态.(即只能等待操作此表的事务提交或者回滚,才能进入到此表中)整个表都被锁了,这是个很严重的问题,所以我们建立数据库表时,我们一定要为其指定主键,这样的话,即使有事务在操作此表,那么事务锁定的也仅仅是行(被事务操作的行),而不是整个表.

  • 相关阅读:
    支付宝接口对接常见问题
    Myeclipse中配置安卓环境
    算法精解概述
    使用Eclipse开始Java编程
    Windows使用SSH管理Ubuntu
    大臣的旅费
    剪格子
    波动数列
    买不到的数目
    逆波兰表达式
  • 原文地址:https://www.cnblogs.com/HelloZyjS/p/12838066.html
Copyright © 2011-2022 走看看