rust mysql 的 事务操作

本文介绍了在Rust编程语言中如何进行MySQL的事务操作。作者在探索过程中遇到了诸多困难,通过分析源码最终掌握了正确的方法。文章涵盖了设置依赖、初始化连接池以及执行事务的步骤,并鼓励读者如果觉得有用,可以点赞支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rust 坑很多,事务操作我也没找到相关的博客。
我是根据源码分析,然后才找到了具体的写法,真的很不容易!

引用依赖
[dependencies]
mysql ="17.0.0"
mysql_common ="0.20.0"
初始化mysql连接池
use mysql::Pool;

use crate::config;

pub fn init_mysql() -> Pool {

Pool::new(config::mysql_con()).unwrap()

}
进行事务操作!
use crate::db_source::init_mysql; //引入mysql

pub fn tran_test() -> String{
    let mut transaction = init_mysql().start_transaction(false, None, None).unwrap();
    transaction.prep_exec("insert into user values(?,?)",
                       (util::uuid(),"a").unwrap();
    transaction.prep_exec("insert into user values(?,?)",
                       (util::uuid(),"b").unwrap();
    transaction.prep_exec("insert into user values(?,?)",
                       (util::uuid(),"c").unwrap();
    let res = transaction.commit();
    match res {
        Ok(__)=>"操作成功!".to_string(),
        Err(__)=>{
        	transaction.rollback();//回滚
	        "操作失败!".to_string()
		},
    }
}

文章对你有帮助的话,点个免费的赞吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值