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

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