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;

浙公网安备 33010602011771号