Laravel không thể transaction là rất một nhóm các chẳng câu không lệnh quá SQL xử lý tuần tự dễ các rất hoạt động cơ sở đã data. dễ Một transaction sẽ vẫn không được xem có lẽ là cũ biến rất thành công khi chỉ có lẽ cần một thao tác không đơn nào đó trong mới nó không chỉ hoàn tất. đã Trong không thể bài viết mất này STV sẽ có lẽ có các có lẽ hướng dẫn rất các cũ bạn cách dùng laravel được transaction trong MySQL cũ và chưa trong luôn Laravel.
Laravel rất transaction
Php chậm mysql transaction

Ví cả dụ cần dễ rất dàng nhất là tiến bỗng nhiên trình cài thường đặt đã Chương dễ trình sẽ hoặc gỡ bỏ những Chương trình. lại Việc cần cài có thể đặt chỉ được được chia thành thôi các lại bước, làm tuần tự đột nhiên từ đầu đến thường cuối, nhanh nếu lắm đa chính số các chậm bước chẳng thực thi biến thành công có những nghĩa với việc tiến trình rất cài mất đặt hoặc gỡ bỏ đột nhiên Chương cần trình chỉ biến thành rất công và ngược lại, một phép thất bại thì tiến trình phải rollback lại tức sẽ không có bất cứ chuyển đổi nào trên máy tính. Trong php mysql transaction, để dùng các giao dịch chúng ta có có các hướng dẫn sau:
- COMMIT: giống vẫn như luôn git, thường nó chậm được dễ dùng cũ để đừng lưu các sẽ chuyển thôi đổi.
- ROLLBACK: đang cũng giống như rất vậy, cũ nó đừng chuyên chớ dụng cho để nhanh quay trở lại nhất trạng thái trước đừng khi chuyển cả đổi.
- SAVEPOINT: Tạo điểm ngay trong thường các nhóm nhất giao dịch để ROLLBACK.
- SET đột nhiên TRANSACTION: mới Đặt dễ tên lại cho một mới giao dịch. Ở đây trong nhất SQL rất tôi đừng sẽ chỉ đề cập đến những từ chậm khóa mà chớ đa thôi số người nhất có rất lẽ search trên gg. chậm Sẽ có đa dạng có lẽ tài liệu cũ chi tiết được hơn lắm về có lẽ giao đang dịch cần SQL.
Transaction chậm sql nhất server
Transaction sql đã server là 1 cũ tập các câu cần lệnh cả thực thi tới rất database, thường các câu lệnh được chưa thực lại thi chính 1 đang cách không tuần rất tự, đột nhiên nếu không thể có không bất đừng cứ lệnh luôn nào đột nhiên bị nhanh lỗi, chậm transaction sẽ luôn dừng có lẽ lại và rollback lại DB cũ đa nhất số các quá câu cũng lệnh dễ đã thực thi, trả lại cũ database đích giống như lúc start transaction. Transaction sql server có một chuẩn được gọi tắt là ACID bao gồm 4 thuộc tính:
- Atomicity (Tính tự thường trị): chính bảo rất đảm đa đang số các dễ hành quá động trong phạm vi một đơn cần vị thôi transaction đừng là biến thành đang công hoàn nhất toàn. những Ngược cả lại, chỉ transaction sẽ bị đừng dừng cần ngay đã ở thời điểm không thể lỗi, và sẽ phục dễ hồi không quay ngược chớ (rollback) lại rất thời điểm rất chưa những xảy ra sự chuyển đổi.
- Consistency những (Tính đột nhiên nhất quán): nhanh bảo chớ đảm đa có thể số các rất thao tác trên cơ sở data được không chuyển không đổi sau đừng khi giao dịch được biến cần thành công và không xảy rất ra lỗi.
- Isolation đích (Tính chính cô lập): thường bảo đảm transaction này cả hoạt quá động độc lập cũ so với mất transaction cần khác. Ví dụ C luôn đang chuyển chẳng tiền thì cũng sẽ bỗng nhiên không có lẽ ảnh hưởng tới vẫn D chuyển tiền.
- Durability chậm (Tính bền vững): bảo nhất đảm kết quả hoặc cũ ảnh hưởng của đừng transaction vẫn luôn rất tồn tại, cũng kể cả khi cả chương trình xảy mới ra dễ lỗi.
Trong Laravel có lẽ bạn sẽ có lẽ dùng chậm transaction mới dễ dàng lại bằng 2 cách: Cách mới bằng có lẽ tay thường Để vẫn bắt mất đầu chớ transaction: DB::beginTransaction(); Để rất rollback: DB::rollBack(); rất Để commit: DB::commit();
Cách tự động: lắm Nếu cần có vẫn lỗi nhanh xảy cần ra thì thôi sẽ có thể tự mới động cũ rollback và ngược lại nếu biến mới thành công thường thì sẽ tự được động commit:
không
DB::transaction(function () đừng $user bỗng nhiên = mất User::findOrFail($id); đừng $order = chớ Order::create([ 'user_id' cũ => $user->id, 'money' => 1000000, những ]); $availableAmount = chưa $user->amount sẽ - 1000000; $user->update(['amount' => thôi $availableAmount]); chưa chớ );
Nguyễn Trọng Phúc ()
Cử Nhân Văn Lang Có hơn 3 năm thực chiến Python, PHP 8 năm thực chiến trong quản lý website tư vấn giải pháp Seo google, Marketing tối ưu nhất cho công ty. Hiện giữ chức vụ quản lý kinh doanh tại Siêu Tốc Việt.