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

相关推荐
沙漏无语26 分钟前
(二)TIDB搭建正式集群
linux·数据库·tidb
姚不倒32 分钟前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
隔壁小邓36 分钟前
批量更新方式与对比
数据库
数据知道37 分钟前
MongoDB复制集架构原理:Primary、Secondary 与 Arbiter 的角色分工
数据库·mongodb·架构
人道领域38 分钟前
苍穹外卖:菜品新增功能全流程解析
数据库·后端·状态模式
修行者Java39 分钟前
(七)从 “非结构化数据难存储” 到 “MongoDB 灵活赋能”——MongoDB 实战进阶指南
数据库·mongodb
野犬寒鸦42 分钟前
TCP协议核心:TCP详细图解及TCP与UDP核心区别对比(附实战解析)
服务器·网络·数据库·后端·面试
江一破43 分钟前
InfluxDB 详细介绍
数据库·influxdb
草莓熊Lotso1 小时前
MySQL 数据库基础入门:从概念到实战
linux·运维·服务器·数据库·c++·人工智能·mysql