- 新建表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);
- 查询事务提交方式,1:自动提交,0:手动提交
- select @@autocommit;
-
- 关闭自动提交
- set @@autocommit=0;
-
- 修改值,
- update study01 set money=money-500 where name='张三';
-
- 没提交事务之前,在当前事务下查询到的字段money值为800-500=300。
- 另外打开一个cmd查询到的字段money是不变的还是800,这说明没有提交之前,数据是不会发生改变的。
-
-
-
- 当事务提交后,数据被持久化。
- commit;
未提交前,两个不同命令窗口的查询结果,
事务提交后,数据被持久化,
对于mysql是否会自动回滚:我持怀疑态度。因为我在事务中试了好几次执行错误都没有看见自动回滚,所以在以后的编程中,还是自己手动回滚吧。