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

  • 相关阅读:
    SSO 单点登录
    CPU运行原理及对线程的影响01
    表单设计器
    Session 身份验证
    cookie 身份验证及跨域
    WebService 身份验证01_SoapHeader及 iis windows 集成身份验证
    WebService 代理类型
    WebService
    网络协议的理解 http、udp、tcp 等
    Container
  • 原文地址:https://www.cnblogs.com/HelloZyjS/p/12838066.html
Copyright © 2011-2022 走看看