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')
})
})
})
})
$con=mysqli_connect('localhost','root','123456','test')if (!$con){
exit("连接错误")
}
mysqli_set_charset($con,'utf8')
mysqli_query($con,"BEGIN")//开启事务
$sql = "sql语句1"
$sql2 = "sql语句2"
$res = mysqli_query($con,$sql)
$res1 = mysqli_query($con,$sql2)
if($res && $res1){
mysqli_query($con,"COMMIT")//提交事务
echo '提交成功。'
}else{
mysqli_query($con,"ROLLBACK")//事务回滚
echo '数据回滚。'
}
mysqli_query($con,"END")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)