#トランザクション制御とは
トランザクションとは、論理的な作業単位として実行される一連の操作を指します。これらの操作はすべて成功する か すべて失敗する かのどちらかです。トランザクションにより、複数のデータ変更が 1 つの単位として処理されることが保証されます。
Zhang San が ATM 機で Li Si に 100 元を送金すると、銀行の業務システムで 2 段階のデータ変更操作が実行されます:
もしこの操作が行われたらどうなるかを尋ねます操作 1 は正常に実行されましたが、操作 2 は失敗しましたか?
関連する無料学習の推奨事項: mysql ビデオ チュートリアル
トランザクションの 4 つの特徴
データベースがトランザクションをサポートする場合、データベースはACID の 4 つの特性、つまり Atomicity (原子性)、Consistency (一貫性)、Isolation (分離)、Durability を備えている必要があります。
MySQL トランザクション制御
デフォルト では、MySQL は自動的に トランザクションを送信します。つまり、INSERT、UPDATE、および DELETE の各 SQL ステートメントは、送信後すぐに COMMIT 操作を実行します。したがって、トランザクションを開始するには、starttransaction または begin を使用するか、autocommit の値を 0.## に設定します。
#方法 1:データベースにログインし、学生データベースを使用して、すべてのデータ テーブルを表示します。
USE student;SHOW TABLES;
2. Bank_account データ テーブルを作成し、2 つのレコードを挿入し、Zhang San の残高フィールド値を 1000# に設定します。 ##
CREATE TABLE bank_account( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) COMMENT '姓名', balance DECIMAL(18, 2) COMMENT '账户余额');INSERT INTO bank_account(id, name, balance) VALUE(1, '张三', 0);INSERT INTO bank_account(id, name, balance) VALUE(2, '李四', 0);UPDATE bank_account SET balance = balance + 1000 WHERE id = 1;
SELECT @@autocommit;
SELECT * FROM bank_account;
START TRANSACTION;UPDATE bank_account SET balance = balance - 100 WHERE id = 1;UPDATE bank_account SET balance = balance + 100 WHERE id = 2;COMMIT;
SELECT * FROM bank_account;
START TRANSACTION;UPDATE bank_account SET balance = balance - 100 WHERE id = 1;UPDATE bank_account SET balance = balance + 100 WHERE id = 2;ROLLBACK;
SELECT * FROM bank_account;
mysql チュートリアル (ビデオ)
以上がMySQL 学習トランザクション制御の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。