Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP MySQL chèn dữ liệu vào nhiều bảng

Một giải pháp sẽ là sử dụng Giao dịch , cho phép nhận được hành vi "tất cả hoặc không có gì".

Ý tưởng như sau:

  • bạn bắt đầu một giao dịch
  • bạn thực hiện các lần chèn / cập nhật của mình
  • nếu mọi thứ đều ổn, bạn thực hiện giao dịch; điều này sẽ lưu mọi thứ bạn đã làm trong giao dịch này
  • nếu không, bạn khôi phục giao dịch; và mọi thứ bạn đã làm trong đó sẽ bị hủy.
  • nếu bạn không cam kết và ngắt kết nối (ví dụ:nếu tập lệnh PHP của bạn chết) , sẽ không có gì được cam kết và những gì bạn đã làm trong giao dịch chưa được cam kết sẽ tự động được khôi phục.

Để biết thêm thông tin, bạn có thể xem tại 12.4.1. Cú pháp BẮT ĐẦU GIAO DỊCH, CAM KẾT và ROLLBACK , dành cho MySQL.


Lưu ý rằng các giao dịch chỉ có sẵn cho một số công cụ DB:

  • MyISAM không hỗ trợ giao dịch
  • InnoDB hiện (ví dụ:nó cũng hỗ trợ khóa ngoại - MyISAM tiên tiến hơn nhiều) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tạo ma trận động trong php?

  2. Truy vấn bản ghi hoạt động Rails nhận các đối tượng phổ biến nhất

  3. Mysql Chọn Tiếp theo &Hàng trước không sắp xếp theo id

  4. Scala Slick:MTable.getTables trả về vectơ / danh sách trống

  5. Không thể kết nối với cơ sở dữ liệu MySql trên máy chủ linux Từ xa từ công cụ Windows GUI