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

Nhiều truy vấn phụ thuộc vào nhau

Bạn có thể sử dụng các giao dịch, nếu công cụ bạn sử dụng hỗ trợ nó (InnoDB, BDB).

Xem http://dev.mysql.com/doc/refman/ 5.0 / en / commit.html để làm ví dụ.

Chỉnh sửa:ví dụ nhanh bằng cách sử dụng mysqli :

$connection->autocommit(FALSE); // disable auto-commit and start a new transaction
$result  = $connection->query("INSERT INTO `table` VALUES (1,2,3)");
$result &= $connection->query("UPDATE `otherTable` SET `val1`=1 WHERE `id`=$idOfInsert");
if (!$result) {
  // One of the queries has failed: cancel the transaction
  $connection->rollback();
} else {
  // Both queries worked:commit the current transaction
  $connection->commit();
}
$connection->autocommit(TRUE); // enable auto-commit

Bạn có thể muốn tối ưu hóa các truy vấn (tức là không thực thi truy vấn thứ hai nếu truy vấn đầu tiên không thành công, hãy sử dụng các câu lệnh đã chuẩn bị sẵn, ...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. không thể kiểm tra tên người dùng có tồn tại hay không

  2. Cách ghép nhiều giá trị nối từ nhiều bảng quan hệ trong một truy vấn mysql duy nhất

  3. Làm cách nào để tạo một cột ảo phức hợp trong Mô hình Eloquent?

  4. InnoDB hoặc MyISAM - Tại sao không phải cả hai?

  5. mysql Trường hợp không sử dụng hai cột