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

PHPとmySQL:トランザクションを実装するためのシンプルなコード-コミットとロールバック

    mysqliを使用する必要はありません。トランザクションコマンドをクエリとして発行するだけです。

    例として:

    mysql_query("start transaction;");
    
    //db_res calls a custom function that performs a mysql_query on the query
    $res1 = db_res("SELECT c1, c2 FROM t1 WHERE c5 = 3");
    $res2 = db_res("UPDATE t2 SET c1 = 5 WHERE c2 = 10");
    $res3 = db_res("DELETE FROM t3 WHERE c1 = 20");
    
    if( $res1 && $res2 && $res3 )
    {
      mysql_query("commit;");
    }
    else
    {
      mysql_query("rollback;");
    }
    

    ちなみに、mysqliへのアップグレードを考えている場合は、しないでください。代わりにPDOにアップグレードしてください、それははるかに正気です。



    1. MySQL / PHPでリアルタイムデータベースポーリングを行うにはどうすればよいですか?

    2. INSERT INTO...SELECTすべての列を詳細化せずに

    3. チャット用のDBスキーマ?

    4. Hibernateで文字列をDBシーケンスにマップする方法