12事务处理
==============
开始事务
start transaction;
开始后在事务中支持rollback
事务结束的标记
commit;
drop database/drop table
create index/drop index
alter table/rename table
lock tables/unlock tables
set autocommit=1
autocommit设置只对innodb有效,myisam类型表数据变化立即生效
--------
mysql提供的孤立级别
serializable 序列化
repeatable read 可重复读
read committed 提交的读
read uncommitted未提交的读
修改鼓励级别
set transaction isolation level read commited;
序列化:
级别最高,与oracle的事务一致性类似
只有事务完成后其他session才能看见数据的变化
但其他session在第一个session事务完成前不能更改数据
可重复读
与序列化级别类似,事务不提交其他session不可以读到数据的变化
只要不违反约束其他session可以改变数据
也就是可能出现幻影读
提交的读
在事务中可以看到其他事务添加的记录
但事务部提交外部无法看见事务中数据的改变
未提交的读
可以读到其他事务没有提交的数据
脏读
-------------------
表锁定代替事务
lock table table_name lock_type;
unlock tables;
lock table a read;
lock table a write;
同时存在write级别更高
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13177610/viewspace-684210/ ,如需转载,请注明出处,否则将追究法律责任。