PHPでMySqlにトランザクションをかける
こんにちは、カズマです。
久方ぶりに備忘録です。
今回は、PHPでMySqlにトランザクションをかける方法を記述しておきます。
必須事項 : 該当テーブルのストレージエンジンは「innoDB」とすること
※MyISAMはトランザクションに対応していない(その代わりにちょっと早いらしい)
ストレージエンジンの変更SQL
ALTER TABLE テーブル名 TYPE = INNODB;
MySqlでのトランザクション サンプルソース
<?php // コネクション作成 $db = mysql_connect("サーバ名", "ユーザ名", "パスワード"); // DBの選択 mysql_select_db("データベース名", $db); //トランザクション開始 $beginSql = "begin"; mysql_query($beginSql, $db ); $instSql = "insert into テーブル名 values(1,'テストさん')"; $result = mysql_query($instSql, $db); if ($result) { $sql = "commit"; mysql_query($sql, $db); // コミット } else { $sql = "rollback"; mysql_query($sql, $db); // ロールバック } ?>
最近のコメント