1.Mysql事务
Mysql事务要求,数据库的引擎必须是InnoDB
2.使用(如果中间出现一个错误,则返回原点,不会改变任何数据)
1)自动控制事物
Db::transaction(function(){
//删除一条数据
Db::table('user')->delete(1);
//删除数据
Db::table('user')->delete();
});
2)手动控制事务
方法一:
//开启事务
Db::startTrans();
//事务
try{
//删除数据
$a = db('user')->delete(1);
//判断是否操作成功
if(!$a){
//抛出错误信息
throw new \Exception('删除id为1的数据没有成功!');
}
//删除数据2
$b = db('user')->delete(2);
// 判断是否操作成功
if(!$b){
//抛出错误信息
throw new \Exception('删除id为2的数据没有成功!');
}
//执行提交操作
Db::commit();
// 错误处理
}catch(\Exception $e){
//回滚事务
Db::rollback();
//获取提示信息
dump($e->getMessage());
}
手动事务方法二:
//开启事务
Db::startTrans();
//数据操作
$a = db('user')->delete(1);
$b = db('user')->delete(2);
//判断条件
if($a && $b){
//如果全部成功,提交事务
Db::commit();
}else{
//如果失败,回滚事务
Db::rollback();
}
- 空白目录
- 关于页面跳转跟重定向
- thinkphp5return的问题
- thinkphp5权限auth
- thinkphp5关联查询多表查询join
- javascript
- 数据库命令行操作
- php间隔一段时间自动执行
- PHP字符串首尾留N位,中间替换成*号
- tp5获取当前域名
- PHP常用函数
- 注册发送短信验证的接口详解
- php可逆加密解密
- 配置本地虚拟主机
- thinkphp5跨控制器调用
- thinkphp5框架加载流程
- thinkphp5路由详解
- thinkphp5功能集合
- thinkphp5数据库操作
- delete,put类型
- tp5数据库查询
- tp5数据库增删改
- 事务机制
- thinkphp模型model新建和查询
- tp5model的新增
- tp5model修改
- tp5model删除和软删除
- tp5视图
- tp5API