------------------------------------------------------------------------
事务的特点:
1.原子性:事务(多条sql)是一个完成的操作,事务的各部分,不能进行分割(要么全部执行成功,要么全部执行失败)
2.一致性:当事务完成时,必须保证完成前后是一致的。
指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。
3.持久性:事务提交完成之后,对数据库的操作是永久保存下来
4.隔离性:并发事务之间,彼此隔离,互不干涉
同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。
mysql的事务(将一组sql语句放在同一批次内去执行...)
如果一个sql语句出现问题啦,一个批次内的所有sql语句,都会被取消
只支持:innodb数据表类型 与 bob数据表类型
SET AUTOCOMMIT = 0; # 关闭自动提交模式
SET AUTOCOMMIT = 1; # 开启自动提交模式
MySQL中默认是自动提交
使用事务时应先关闭自动提交
CREATE TABLE `bank` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`money` double DEFAULT NULL,
`name` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO bank VALUES(NULL,1000,'小红');
INSERT INTO bank VALUES(NULL,1000,'小李');
----------2账户能改变--------------
SET autocommit =0; #关闭自动提交模式
START TRANSACTION ; #开启事务
UPDATE bank SET money = money - 500 WHERE id=1;
UPDATE bank SET money = money + 500 WHERE id=2;
COMMIT; #提交事务
SET autocommit =1; #打开自动提交模式ÿ

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



