【MySQL】TCL(Transaction Control Language)トランザクション制御言語
トランザクション:
SQL , , MySQL 。
ユニット全体が分割不可能な全体として機能し、ユニット内のSQL文が実行に失敗したり、エラーが発生したりすると、ユニット全体がロールバックされます.影響を受けたすべてのデータは、トランザクションが開始される前の状態に戻ります.セル内のすべてのSQL文が正常に実行された場合、トランザクションは正常に実行されます.トランザクションのACID属性:1.原子性(Atomicity):2.コンシステンシ3.隔離性(Isolation)4.持続性(Durability)CREATE DATABASE IF NOT EXISTS girls;
USE girls;
CREATE TABLE account(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20),
balance VARCHAR(20)
);
TRUNCATE TABLE account;
INSERT INTO account VALUES(NULL,' ',1000),(NULL,' ',1000);
SELECT * FROM account;
# mysql , 。 。
# 1、
#
SHOW VARIABLES LIKE 'autocommit';
SET autocommit = 0;#
START TRANSACTION;#【 】 ,
#2、 sql
UPDATE account SET balance = 500 WHERE username = ' ';
UPDATE account SET balance = 1500 WHERE username = ' ';
#3、
COMMIT; # , ,
ROLLBACK;#
SELECT * FROM account;
SELECT * FROM employees;