事务:
事务:是数据库的功能,能够保证多条sql 同时成功或失败
说明
事务特性默认是关闭的(sql 会自动提交)
使用:
begin -- 开启(关闭sql自动提交)
rollback; -- 回滚
commit; -- 提交事务
public void transfer(){
try{
// 开启事务
begin;
update account set money=money-500 where id=1;
// 校验 不通过
int i =1/0;
update account set money=money+500 where id=2;
// 提交事务
commit;
catch(e){
// 回滚
rollback;
}
}
四大特征
事务:
是数据库的功能, 有一些特性
原子性: 事务能够保证一个事务包裹起来的多条sql,要么同时成功要么同时失败
一致性: 事务能够保证数据修改结果和预期一直
持久性: 事务能够保证数据会持久化修改
隔离性:多线程环境下,同一条sql 只能一个线程执行(会自动加锁)