ホームページ  >  記事  >  データベース  >  MySQL トランザクションのサンプル チュートリアル

MySQL トランザクションのサンプル チュートリアル

零下一度
零下一度オリジナル
2017-05-15 10:36:051305ブラウズ

MySQL トランザクション

MySQL トランザクションは主に、大規模な操作と複雑さの高いデータを処理するために使用されます。例えば、人事管理システムにおいて、個人を削除する場合、その個人の基本情報を削除するとともに、その個人に関連するメールボックスや記事などの情報も削除する必要があります。このようにして、これらのデータベースは、操作ステートメントはトランザクションを構成します。

MySQL では、Innodb データベース エンジンを使用するデータベースまたはテーブルのみがトランザクションをサポートします

トランザクション処理を使用して、データベースの整合性を維持し、SQL ステートメントのバッチがすべて実行されるか、まったく実行されないかを確認できます

トランザクション挿入、更新、削除ステートメントを管理します

一般的に、トランザクションは 4 つの条件 (ACID) を満たす必要があります: アトミック性 (原子性)、一貫性 (安定性)、分離性 (分離)、持続性 (信頼性)

1 。一連のトランザクションは成功するか取り消されます。

2. 安定性: 不正なデータ (外部キー制約など) がある場合、トランザクションは取り消されます。

3. 分離: トランザクションは独立して実行されます。ある取引の結果が他の取引に影響を与える場合、他の取引は撤回されます。トランザクションを 100% 分離するには、速度を犠牲にする必要があります。

4. 信頼性: ソフトウェアまたはハードウェアがクラッシュした後、InnoDB データ テーブル ドライバーはログ ファイルを使用して再構築および変更します。信頼性と高速性を同時に実現することはできません。innodb_flush_log_at_trx_commit オプションは、トランザクションをログに保存するタイミングを決定します。

Mysqlコンソールでトランザクションを使用して操作します

1、トランザクションを開始します

start transaction

2、セーブポイントを作成します

save point 保存点名称

3、操作

4、ロールバックできます、問題がなければ送信し、問題がある場合はロールバックすることができます。

PHPでのトランザクションインスタンスの使用

<?php
$handler=mysql_connect("localhost","root","password");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values(&#39;2&#39;)"))
{
mysql_query("ROOLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values(&#39;4&#39;)"))
{
mysql_query("ROOLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?

【関連推奨事項】

1. 特別な推奨事項: 「php Programmer Toolbox」V0.1バージョンのダウンロード

2.無料の mysql オンライン ビデオ チュートリアル

3. データベース設計に関する事項

以上がMySQL トランザクションのサンプル チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。