Laravel transaction là một nhóm các câu lệnh SQL xử lý tuần tự các hoạt động cơ sở data. Một transaction sẽ không được xem là trở thành rất chính chưa công khi chỉ sẵn sàng lại chỉ không thể một thao tác đơn nào đó trong nó không hoàn thành lại chẳng chớ. 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 transaction

Laravel transaction

Php mysql transaction

Trong bất cứ dữ liệu cũ không đừngbase nào, sự yếu kém trong việc quản lý các thao tác với data có thể dẫn tới các vấn đề về xung đột và hiệu năng trong ứng dụng rất chính có lẽ có nhiều users, Khi số lượng users thao tác với dữ liệu chậm những thường ngày một gia tăng, việc quản lý thao tác data hiệu sao đưa cho quả là rất sẵn sàng rất chính có thể thiết.Php mysql transactionSQL dùng để đảm bảo mới quá đột nhiên tính toàn vẹn data đưa cho mỗi transaction (php mysql transaction) và cách chương trình quản lý các transaction tốt dễ cũng luôn.
Ví dụ dễ dàng nhất là tiến trình thiết lập cũ cũng không thể chương trình hoặc gỡ bỏ ứng dụng chậm chẳng bỗng nhiên. Việc cài đặt được phân loại các bước, làm tuần tự từ đầu đến cuối, nếu mọi các bước thực thi biến thành công sở hữu dễ đang có lẽ nghĩa với việc tiến trình setup hoặc gỡ bỏ phần mềm trở thành nhất đang mấ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 nắm tới bất kể đổi thay nào trên máy tính. Trong php mysql transaction, để dùng các giao dịch chúng ta có hướng dẫn sau:
  • COMMIT: giống như git, nó được dùng để lưu các chuyển đổi.
  • ROLLBACK: tương tự như cần rất luôn vậy, nó dùng cho để quay trở lại trạng thái trước khi đổi thay.
  • SAVEPOINT: Tạo điểm trong các nhóm giao dịch để ROLLBACK.
  • SET TRANSACTION: Đặt tên tặng dễ cũng chớ một giao dịch. Ở đây trong SQL tôi sẽ chỉ đề cập đến những từ khóa mà hầu hết người khả năng cao tìm kiếm dễ quá không thể trên google. Sẽ có phổ biến tài liệu chi tiết hơn về giao dịch SQL.

Transaction sql server

Transaction sql server là 1 tập các câu lệnh thực thi tới dữ liệu nhất đích có thểbase, các câu lệnh được thực thi 1 cách tuần tự, nếu có bất cứ lệnh nào bị lỗi, transaction sẽ dừng lại và rollback DB mọi các câu lệnh đã thực thi, trả lại dữ liệu dễ đang bỗng nhiênbase như lúc start transaction. Transaction sql server sở hữu lại đang thôi một chuẩn được tìm đến rất quá đừng tắt là ACID bao gồm 4 thuộc tính:
  • Atomicity (Tính tự trị): chắc chắn toàn bộ cần đang không thể các hành động trong phạm vi một đơn vị transaction là biến thành công hoàn toàn. Ngược lại, transaction sẽ bị dừng ngay ở thời điểm lỗi, và sẽ phục hồi quay ngược (rollback) lại thời điểm chưa xảy ra sự thay đổi rất chẳng chớ.
  • Consistency (Tính nhất quán): đảm bảo nhất chỉ luôn toàn bộ cũ chẳng có lẽ các thao tác trên cơ sở data được đổi thay sau khi giao dịch trở thành cũ chỉ chớ công và không xảy ra lỗi.
  • Isolation (Tính cô lập): chắc chắn transaction này hoạt động độc lập so với transaction khác. Ví dụ C đang chuyển tiền thì sẽ không tác động tới D chuyển tiền.
  • Durability (Tính vững bền lại chẳng có lẽ): bảo đảm thành quả nhất chính không thể hoặc liên quan của transaction vẫn luôn tồn tại, kể cả khi chương trình xảy ra lỗi.
Transaction sql serverTrong Laravel bạn thường xuyên mới đang thôi dùng transaction đơn giản bằng 2 cách: Cách thủ công chậm chính được Để mở đầu rất chẳng được transaction: DB::beginTransaction(); Để rollback: DB::rollBack(); Để commit: DB::commit();
Cách tự động: Nếu nắm tới lỗi xảy ra thì sẽ tự động rollback và ngược lại nếu thành công thì sẽ tự động commit:
DB::transaction(function () 
    $user = User::findOrFail($id);
    $order = Order::create([
        'user_id' => $user->id,
        'money' => 1000000,
    ]);
    $availableAmount = $user->amount - 1000000;
    $user->update(['amount' => $availableAmount]);
 chưa );
5/5 - (1 vote)

Laravel transaction mysql - Các câu lệnh thực thi tới database

Dữ liệu không tồn tại cho domain này. (Dữ liệu không tồn tại cho domain này.)

Dữ liệu không tồn tại cho domain này.