什么是mysql的事务和实现

什么是mysql的事务和实现,第1张

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表都没被修改。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7255097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存