ホームページ  >  記事  >  バックエンド開発  >  phpの解析mysqlトランザクション処理ロールバック操作(例付き)_PHPチュートリアル

phpの解析mysqlトランザクション処理ロールバック操作(例付き)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:00:15921ブラウズ

多くの初心者は、プロジェクトのプロセス中に次のような状況に遭遇するでしょう: フォーラム通貨控除プロジェクトでは、ユーザーがフォーラム通貨の支払い時に突然インターネットから切断されたり、コンピューターのクラッシュ、停電、その他の自然災害が発生した場合、これにより、トランザクションが失敗した場合 (つまり、ユーザーのコインが差し引かれましたが、サーバーのデータベースに消費記録がありません)、この状況はどのように処理されるべきですか?

現時点では、Mysql トランザクション ロールバックを使用して処理できます。コードの書き方は?
それでは、この mysql トランザクションのロールバックを処理する方法について話しましょう。

まず第一に、MYSQL では INNODB および BDB タイプのデータ テーブルのみがトランザクション処理をサポートできます。他のタイプはサポートされていません。

では、データテーブルがすでに存在しており、上記の 2 つのタイプではない場合はどうすればよいでしょうか?

1. テーブルタイプを変更できる MySQL-Front というソフトウェアを見つけます。
2. SQL ステートメントは次のように記述することもできます。

コードは次のとおりです。
ALTER TABLE TABLENAME type = InnoDB;修復する必要があるテーブルを完成させる 変更が完了したら、PHP ファイルに移動してコードをテストできます。



コードをコピーします

コードは次のとおりです:

mysql_query("BEGIN") //または mysql_query("START TRANSACTION"); $sql = "INSERT INTO ..."; $res = mysql_query($sql);
$res1 = mysql_query($sql2); $res1){
mysql_query("COMMIT");
echo '送信に成功しました。 '; }else{

mysql_query("ROLLBACK");
echo 'データのロールバック。 ';
}

mysql_query("END");


これを見れば、PHP を使用して mysql トランザクションのロールバックを処理する方法がわかるはずです。とても簡単です!



http://www.bkjia.com/PHPjc/328083.html


www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/328083.html

多くの初心者は、プロジェクトのプロセス中に、次のような状況に遭遇します。フォーラム通貨控除プロジェクトで、フォーラム通貨の支払い時にユーザーが突然インターネットから切断されたり、コンピューターがクラッシュしたり、停電などが発生した場合...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。