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

mysqlにトランザクションを含む複数のテーブルを挿入する

    そのパスをたどる場合は、mysql_insert_id()を使用してください。

    <?
    mysql_query("START TRANSACTION");
    
    $q1 = mysql_query("INSERT INTO table A (id, firstName, lastName) VALUES (?, ?, ?)");
    
    // This is your baby. The id of the last record inserted
    $last_inserted_id = mysql_insert_id();
    
    $q2 = mysql_query("INSERT INTO table b (id, id from A, xyz) VALUES (?, ?, ?)");
    
    // If query1 and query2 succeeded, commit changes to your database
    // Creates both records
    if ($q1 && $q2) {
        mysql_query("COMMIT");
    }
    else {        
        // Else initiate a rollback, and no records are committed.
        mysql_query("ROLLBACK");
    }
    
    ?>
    



    1. MoodlePostgreSQLデータベースの自動フェイルオーバー

    2. Djangoはデータベースを削除できません:psycopg2.OperationalError:現在開いているデータベースを削除できません

    3. SQLServerとSpectre/Meltdownの脆弱性

    4. SQL-複数の列にカウント