sql >> データベース >  >> RDS >> Mysql

相互に依存する複数のクエリ

    使用するエンジン(InnoDB、BDB)がサポートしている場合は、トランザクションを使用できます。

    http://dev.mysql.com/doc/refman/を参照してください5.0 / en / commit.html 例として。

    編集: 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
    

    クエリを最適化することをお勧めします(つまり、最初のクエリが失敗した場合は2番目のクエリを実行せず、プリペアドステートメントを使用します...)



    1. ZDLRA –RMAN-20035無効な高RECID

    2. データベース内の文字にアクセント記号を保存する方法

    3. RACVMをバックアップする方法

    4. (My)SQLJOIN-正確に指定されたメンバーを持つチームを取得します