数据库事务演示


1 创建数据库和账户表 

DROP DATABASE IF EXISTS tx;
CREATE DATABASE tx;
USE tx;
CREATE TABLE account(
  id INT PRIMARY KEY AUTO_INCREMENT,
  `name` VARCHAR(40),
  money FLOAT
);
INSERT INTO account(`name`,money) VALUES('SuperMan',1000);
INSERT INTO account(`name`,money) VALUES('BatMan',1000);
SELECT * FROM account;

2 重账户置表

TRUNCATE TABLE account;
INSERT INTO account(`name`,money) VALUES('SuperMan',1000);
INSERT INTO account(`name`,money) VALUES('BatMan',1000);
SELECT * FROM account;

3 MySql8.0 查看事务隔离级别

SELECT @@global.transaction_isolation,@@transaction_isolation;
SHOW VARIABLES LIKE '%iso%';

MySql 默认的事务隔离级别:REPEATABLE READ


4 修改事务的隔离级别

SET SESSION TRANSACTION ISOLATION LEVEL Xxx ;

5 模拟 “银行转账”

START TRANSACTION;
UPDATE account SET money = money - 100 WHERE `name` = 'SuperMan';
UPDATE account SET money = money + 100 WHERE `name` = 'BatMan';
COMMIT;
发布了533 篇原创文章 · 获赞 898 · 访问量 111万+

猜你喜欢

转载自blog.csdn.net/qq_40794973/article/details/104218792