sql >> Database teknologi >  >> RDS >> Mysql

Flere forespørgsler afhængige af hinanden

Du kan bruge transaktioner, hvis motoren du bruger understøtter det (InnoDB, BDB).

Se http://dev.mysql.com/doc/refman/ 5.0/da/commit.html for eksempler.

Rediger:hurtigt eksempel ved hjælp af 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 ønsker måske at optimere forespørgslerne (dvs. ikke udføre den anden, hvis den første er fejlet, brug forberedte sætninger, ...)



  1. Benchmarking Postgres-XL

  2. Hvordan eksporterer man millioner af rækker fra MySQL til CSV via PHP uden at opbruge hukommelsen?

  3. Sådan rundes (OP/NED) i SQL Server – 5 nyttige tips

  4. Indsæt data i MySQL-databasen fra Android-appen. Ændringer afspejles ikke i databasen