Laravel的事务处理求解.
程序员文章站
2022-05-04 12:34:56
...
public function store(Request $request, $id)
{
$externalAccount = ExternalAccounts::find($id);
DB::beginTransaction();
try {
$externalAccount->fund_number = 999;
$externalAccount->capital_balance = 'kjhkjhkj';
$externalAccount->save();
DB::commit();
} catch (Exception $e){
DB::rollback();
throw $e;
}
}
第一次用Laravel。。
capital_balance字段为int类型,我故意传进去字符串类型,这样写入肯定会出错的。
但是上面的fund_number居然写入成功了,没有回滚= =。。
求老司机解答。。
mysql引擎没错,是InnoDB。
回复内容:
public function store(Request $request, $id)
{
$externalAccount = ExternalAccounts::find($id);
DB::beginTransaction();
try {
$externalAccount->fund_number = 999;
$externalAccount->capital_balance = 'kjhkjhkj';
$externalAccount->save();
DB::commit();
} catch (Exception $e){
DB::rollback();
throw $e;
}
}
第一次用Laravel。。
capital_balance字段为int类型,我故意传进去字符串类型,这样写入肯定会出错的。
但是上面的fund_number居然写入成功了,没有回滚= =。。
求老司机解答。。
mysql引擎没错,是InnoDB。
我估计是mysql的坑,你拿生成好的sql直接到mysql里面去执行一下看看
上一篇: 正则表达式匹配题
下一篇: cmd-mysql怎么导出线上数据库