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'); }); }); }); })