什么是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')

 

})

})

})

})

$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")


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存