【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;