1. 原子性(Atomicity) 在一个事务内的操作,要么全部成功,要么全部失败. 2. 一致性(Consistency) 数据库从一个一致性状态,转移到另一个一致性状态. 3. 隔离性(Isolation) 多个并发的事务之间是相互隔离的 4.持久性(Durability) 数据一旦被提交了,则改变就是永久的…
当涉及到两个或多个线程操作同一个资源时,就会出现锁的问题. 数据库中的某一条记录或者是某一个对象中的字段,可以修改,也可以读取,一般情况下,读取的那个方法应该加锁(即用synchronized互斥),而读取的那个方法则不需要加锁.允许多个线程同时读取,而不允许同时进行修改.对应的数据库事务隔离级别应该是:read committed,即可以避免读取到脏数据,但是不可重复读. 关于事务的隔离级别,感觉这篇文章介绍的不错: http://www.linuxidc.com/Linux/2013-06/…
现象 以SQL/Helper为例,打开不同的SQL窗口,对同一个表格进行操作,如下所示. 窗口1:当执行更新任务.紧接着执行查询时获得一组查询结果.结果是对的. 窗口2:而在另外一个SQL查询窗口中执查询,却得到更新前的结果. 当关闭窗口1时,执行窗口2,发现出现正确的更新结果. 分析 初步分析是数据库的并发访问的问题.当在窗口1中执行更新操作,对数据表格的引用并未有消除,而是在数据库中产生了针对当前事务的副本结果.而窗口2所针对的查询还是旧的更新前的数据库原本.当关闭窗口1后,数据库中的表格被…
概述: 事务是由一系列语句构成的逻辑工作单元.事务和存储过程等批处理有一定程度上的相似之处, 通常都是为了完成一定业务逻辑而将一条或者多条语句“封装”起来,使它们与其他语句之间出现一个逻辑上的边界,并形成相对独立的一个工作单元. 当使用事务修改多个数据表时,如果在处理的过程中出现了某种错误,例如系统死机或突然断电等情况,则返回结果是数据全部没有被保存. 因为事务处理的结果只有两种:一种是在事务处理的过程中,如果发生了某种错误则整个事务全部回滚,使所有对数据的修改全部撤销,事务对数据库的操作是单步…
主java package com.itheima.transtation; import com.itheima.transtation.db.BankOpenHelper; import android.os.Bundle; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.view.Menu; import android.view.View; public…
public void testTrasaction() throws Exception{  PersonSQLiteOpenHelper helper = new PersonSQLiteOpenHelper(getContext());  SQLiteDatabase db = helper.getWritableDatabase();  db.beginTransaction();  try{   db.execSQL("update sys_user set account = acc…
实验1: create table yggz(code int, salary number(7,2)); insert into yggz values(1, 1000); insert into yggz values(2, 150); commit; 完成任务: 如果1号员工的salary多余300元,则从1号员工的salary中减少300元,同时加到2号员工的salary上. 实验2: create table yggz(code int, salary number(7,2)); in…
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执…
前言 前面我们介绍过数据库中 带你了解数据库中JOIN的用法 与 带你了解数据库中group by的用法的相关用法.本章节主要来介绍下数据库中一个非常重要的知识点事务,也是我们项目中或面试中经常会遇到的知识点.如有错误还请大家及时指出~ 涉及面试题: 请讲下你对事务的理解? 讲下事务有那几大特性? 以下都是采用mysql数据库 事务 事务(Transaction),是我们关系型数据库中非常重要的一个概念,它要符合ACID特性.是由一组SQL语句组成的一个程序执行单元(Unit),该执行单元要么成…
数据库中事务的ACID特性 前言前面我们介绍过数据库中 带你了解数据库中JOIN的用法 与 带你了解数据库中group by的用法 的相关用法.本章节主要来介绍下数据库中一个非常重要的知识点事务,也是我们项目中或面试中经常会遇到的知识点.如有错误还请大家及时指出~ 涉及面试题: 请讲下你对事务的理解?讲下事务有那几大特性?以下都是采用mysql数据库 事务事务(Transaction),是我们关系型数据库中非常重要的一个概念,它要符合ACID特性.是由一组SQL语句组成的一个程序执行单元(Uni…