Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wiele zapytań zależnych od siebie

Możesz używać transakcji, jeśli silnik, z którego korzystasz (InnoDB, BDB).

Zobacz http://dev.mysql.com/doc/refman/ 5.0/en/commit.html po przykłady.

Edycja:szybki przykład przy użyciu 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

Możesz chcieć zoptymalizować zapytania (tzn. nie wykonywać drugiego, jeśli pierwsze się nie powiedzie, użyj przygotowanych instrukcji, ...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczny kursor w procedurze składowanej

  2. Tworzenie nowej bazy danych w DataGrip JetBrains

  3. Dlaczego TRANSACTION / COMMIT tak bardzo poprawia wydajność dzięki PHP/MySQL (InnoDB)?

  4. Duże tabele MySQL

  5. MYSQL — Wybierz określoną wartość z pobranej tablicy