四大特性
原子性(atomicity)
事务的一系列操作,要么所有操作所有都成功,要么一个操作都不做
一致性(consistency)
指数据的规则,在事务前/后应保持一致,事务的原子性保证了一致性
隔离性(isolation)
事务之间相互独立,互不影响
持久性(durability)
事务提交后,它对数据库中的数据的改变就应该是永久性的
注意: Innodb引擎才支持事务
mysql 默认情况下自动提交事务的,每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。如果某一组操作需要在一个事务中,那么需要使用start transaction,一旦rollback或commit就结束当次事务,之后的操作又自动提交。rollback 或 commit 之前的所有操作都视为一个事务。
#开启手动处理事务模式
set autocommit = false;
#开始事务(推荐)
start transaction;
#dml
insert into course(cid, uid, grade) values(1,1,100);
select * from course;
#回滚
rollback;
select * from course;