msql的一个事务的回归测试,可以自测一下,了解下事务。
举个例子:小明和小飞两个人现在手里各有¥100,突然小飞脑袋出问题了说给小明¥50,现在他们手里的钱就是(小明:¥150,小飞:¥50);这样同步就是一个事务的完成,下面是demo
/*
事务 ACID
原子性 Atomic
一致性 Consistency
隔离性 Isolation
持久性 Durability
*/
var mysql = require('mysql')var connection = mysql.createConnection({
host:'localhost',
user:'root',
password:'',
database:'yudi'
})
connection.connect()
//开始一个事务
connection.beginTransaction(function(err){
if(err) throw err
connection.query('update account1 set mny=0 where id=1',function(err,results){
if(err){
connection.rollback(function(){
throw err
})
throw err
}
connection.query('update account2 set mny=200 where id=1',function(err,results){
if(err){
//回滚一个事物
connection.rollback(function(){
throw err
})
throw err
}
//提交一个事物
connection.commit(function(err){
if(err){
connection.rollback(function(){
throw err
})
throw err
}
console.log('success')
})
})
})
})
事务能保证你做的一系列动作,要么全部成功。如果有一个 *** 作失败,就回退到修改前。 比如你要做下面几个 *** 作, 1.删除表A中的某些记录 2.向B添加一些记录。 3.修改C表中的一些数据。 使用事务,如果1,2都成功了,3却失败了。就会回退到第1步执行前的样子,ABC表都没被修改。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)