ホームページ >データベース >mysql チュートリアル >SQL トランザクション: データの整合性と一貫性の確保
トランザクション は、単一の論理的な作業単位として実行される 1 つ以上の SQL 操作のシーケンスです。トランザクションにより、システム障害やエラーが発生した場合でも、データベース内のデータの一貫性、完全性、信頼性が確保されます。これらはデータベースの安定性を維持するために ACID プロパティ に従います。
原子性:
トランザクション内のすべての操作が正常に完了することを保証します。いずれかの操作が失敗すると、トランザクション全体が初期状態にロールバックされます。
一貫性:
データベースがある有効な状態から別の有効な状態に確実に移行します。トランザクションは、制約やトリガーなど、定義されたすべてのルールを尊重する必要があります。
隔離:
同時に発生する複数のトランザクションが相互に干渉しないようにします。各トランザクションは、システム内の唯一のトランザクションであるかのように動作します。
耐久性:
トランザクションがコミットされると、システムがクラッシュした場合でも、その変更が永続的に保たれるようにします。
BEGIN TRANSACTION;
COMMIT;
ROLLBACK;
SAVEPOINT SavePointName;
ROLLBACK TO SavePointName;
BEGIN TRANSACTION; -- Deduct from Account A UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1; -- Add to Account B UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2; -- Check for errors and commit the transaction IF @@ERROR = 0 COMMIT; ELSE ROLLBACK;
BEGIN TRANSACTION;
COMMIT;
ROLLBACK;
隔離:
トランザクションは相互に干渉しません。分離レベルには次のものが含まれます:
耐久性:
一度コミットすると、変更は永続的になります。 COMMIT により、クラッシュした場合でもデータが確実に保存されます。
トランザクションはデータベース システムの基礎であり、重要な操作全体にわたってデータの信頼性、一貫性、正確性を保証します。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がSQL トランザクション: データの整合性と一貫性の確保の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。