ホームページ >バックエンド開発 >PHPチュートリアル >php+mysql トランザクションのロールバックとコミット example_PHP チュートリアル
mysql_query("BEGIN"); //トランザクションを開始します
mysql_query("SET AUTOCOMMIT=0"); //トランザクションを自動的にコミットしないように設定します
$insert="INSERT INTO userinfo VALUES ('aa12','aa', '1 ','aaa')";
mysql_query($insert);
mysql_query("COMMIT");//非自動コミット モード、操作を有効にするには COMMIT を手動で実行する必要があります
//mysql_query("SET AUTOCOMMIT =0");
$insert="ユーザー情報の値に挿入 ('aa20','aa','1','aaa')";
$insert="ユーザー情報の値に挿入 ('aa8','aa' ,'1')" ;
//mysql_query("COMMIT");
if(mysql_num_rows==0)
mysql_query("ROLLBACK");//非自動コミットモードでは、ROLLBACK を実行するとトランザクション操作が無効になります
else echo "ok";
//mysql_query("CLOSE");
mysql_query("SET AUTOCOMMIT=1");//自動コミット モードを復元します
$insert="INSERT INTO userinfo VALUES ('aa15','aa', '1','aaa')";
mysql_query($insert);//トランザクション操作を有効にするために手動で COMMIT を実行する必要はありません。
BEGIN の実行後の効果は set と同じですautocommit=0 とし、後から set autocommit=0 または 1 を設定した場合は無効となります。したがって、操作を明確にするために、BEGIN は通常は使用されません。