mysql 事务

更改CMD中文乱码:set charset gbk;

事务

事务是保证一组数据库操作,要么全部成功,要么全部被失败。事务只对DML有效

事务有 A(Atomicity)、C(Consistency)、I(Isolation)、D(Durability) 四个特性,即原子性一致性隔离性持久性

复制代码
-- ======== 模拟银行转账案例===========
CREATE DATABASE shop CHARACTER SET utf8 COLLATE utf8_general_ci
USE shop

CREATE TABLE `account`(
   `id` INT(3) NOT NULL AUTO_INCREMENT,
   `name` VARCHAR(30) NOT NULL,
   `money` DECIMAL(9,2) NOT NULL,
   PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8


INSERT INTO `account`(`name`,`money`)
VALUES ('A',2000.00),('B',10000.00)

SET autocommit =0 -- 关闭自动提交
START TRANSACTION -- 开启一个事物
UPDATE `account` SET money = money-500 WHERE `name`='A'
UPDATE `ACCOUNT` SET money = money+500 WHERE `name`='B'

COMMIT; -- 提交事物
ROLLBACK; -- 回滚
SET autocommit = 1;
复制代码

 

隔离级别

1、查看
5.7.2之前 使用 show variables like 'tx_isolation' 或者 select @@tx_isolation;
5.7.2之后 使用 show variables like 'transaction_isolation' 或者 select @@transaction_isolation;

posted @   系统显示名称已被使用  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示