나는 삽입/업데이트하는 다중 쿼리가있을 때마다 새로운 것을 시도하고 있습니다. 나는 그 문제에 대해 데이터베이스 트랜잭션을 사용한다.여러 쿼리에 대한 데이터베이스 트랜잭션
$this->transaction->beginTransaction();
try {
$trucker_user->update([
'username' => $request->getParam('username'),
'first_name' => $request->getParam('first_name'),
'middle_name' => $request->getParam('middle_name'),
'last_name' => $request->getParam('last_name'),
'contact_number' => $request->getParam('contact_number'),
'email' => $request->getParam('email'),
'status' => ($trucker_id) ? 1 : $request->getParam('status')
]);
if ($trucker_id === false) {
$trucker_user->userTrucker()->update([
'trucker_id' => $request->getParam('trucker_id')
]);
}
$this->transaction->commit();
} catch(\Exception $e) {
$this->transaction->rollBack();
throw $e;
}
그럼 제가 데이터베이스 트랜잭션을 사용하여 삽입/업데이트하는 쿼리가 여러 개있을 때 질문하는 것이 좋습니다.
뭔가 나쁜 일이 발생했을 때 트랜잭션을 롤백하는 것이 좋습니다. 하지만 언제나 여러 쿼리에서 항상 그것을 사용하는 것은 과도한 일이 아닙니다.