sql >> Databasteknik >  >> RDS >> Mysql

Flera frågor är beroende av varandra

Du kan använda transaktioner om motorn du använder stödjer det (InnoDB, BDB).

Se http://dev.mysql.com/doc/refman/ 5.0/en/commit.html för exempel.

Redigera:snabbt exempel med 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

Du kanske vill optimera frågorna (dvs. inte köra den andra om den första har misslyckats, använd förberedda satser, ...)



  1. Modellera en grundläggande datastruktur för att hantera användare, trådar och inlägg

  2. PyInstaller, spec-fil, ImportError:Ingen modul med namnet 'blah'

  3. Hur får man de mest populära taggarna från normaliserade tabeller?

  4. MySQL-syntax för att skapa främmande nyckel