Mysql事务

java 复制代码
新建表study01,
create table study01(
   id int auto_increment,  
   name varchar(50) not null,
   money int not null,
   primary key(id));

被auto_increment修饰的字段无需显式赋值,会实现自动加一,且必须是主键。
主键标识该字段是独一无二的。主键值可以被修改,但要保证修改之后的值
不能与其它主键重复,否则执行会发生错误。


插入数据,
insert into study01(name,money) values
('张三',800),
('李四',1000);
java 复制代码
查询事务提交方式,1:自动提交,0:手动提交
select @@autocommit;

关闭自动提交
set @@autocommit=0;

修改值,
update study01 set money=money-500 where name='张三';

没提交事务之前,在当前事务下查询到的字段money值为800-500=300。
另外打开一个cmd查询到的字段money是不变的还是800,这说明没有提交之前,数据是不会发生改变的。



当事务提交后,数据被持久化。
commit;

未提交前,两个不同命令窗口的查询结果,


事务提交后,数据被持久化,

对于mysql是否会自动回滚:我持怀疑态度。因为我在事务中试了好几次执行错误都没有看见自动回滚,所以在以后的编程中,还是自己手动回滚吧。

相关推荐
小蒜学长1 小时前
jsp基于JavaWeb的原色蛋糕商城的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
摩羯座-1856903059410 小时前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
编程充电站pro11 小时前
SQL 面试高频:INNER JOIN vs LEFT JOIN 怎么考?
数据库·sql
这周也會开心11 小时前
SQL-窗口函数做题总结
数据库·sql
间彧11 小时前
TiDB详解与Spring Boot实战指南
数据库
极限实验室11 小时前
Easysearch 字段'隐身'之谜:source_reuse 与 ignore_above 的陷阱解析
数据库·redis
2301_7720935611 小时前
tuchuang_后端_前端_注册登录
数据库·后端·网络协议·mysql·wireshark
武子康11 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务
间彧11 小时前
脏读、不可重复读、幻读详解与对比
数据库
间彧12 小时前
数据库事务隔离级别详解
数据库