【MySQL】MySQL 常用语法 之 锁表与解锁表
2013-12-06 18:06
567 查看
mysql 锁表语句:
Lock锁整张表:
写锁定:
写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.....
读锁定:
读锁,锁定之后,无论是当前线程还是其他线程均只能读操作,写操作全部被堵塞....
解锁:
行级锁/排他锁 [使用FOR UPDATE]:
表需要是InnoDB引擎;
还需要配合事务,否则没有效果[没有事务的话,应该是锁了执行完该句马上又解锁,看不到效果吧];
在启动事务然后锁定某一行后,在事务提交之前或者事务回滚之前该行会一直处于锁定状态,此时只允许当前线程进行读写操作,其他线程只能进行读操作,其他写操作全部被堵塞....
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
Lock锁整张表:
写锁定:
LOCK TABLES products WRITE;
写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.....
读锁定:
LOCK TABLES products READ;
读锁,锁定之后,无论是当前线程还是其他线程均只能读操作,写操作全部被堵塞....
解锁:
UNLOCK TABLES;
行级锁/排他锁 [使用FOR UPDATE]:
表需要是InnoDB引擎;
还需要配合事务,否则没有效果[没有事务的话,应该是锁了执行完该句马上又解锁,看不到效果吧];
BEGIN;//启动事务 SELECT * FROM products WHERE id=1 FOR UPDATE;//锁定某一行 COMMIT;//事务提交[或者 ROLLBACK 事务回滚]
在启动事务然后锁定某一行后,在事务提交之前或者事务回滚之前该行会一直处于锁定状态,此时只允许当前线程进行读写操作,其他线程只能进行读操作,其他写操作全部被堵塞....
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
相关文章推荐
- mysql常用语法操作
- MySQL 常用语法总结
- mysql(二)常用的命令及语法规范
- mysql常用语法
- mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
- mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】
- mysql常用语法
- mysql 常用语法大全
- MySQL 常用语法总结
- mysql常用基础操作语法(一)~~对库的操作【命令行模式】
- MySQL语法常用大全_自己整理的学习笔记
- MySQL 常用语法总结
- MySQL 常用语法总结
- mysql常用命令、语法
- mysql常用语法
- MySQL的常用语法
- mysql常用语法
- MySQL常用语法
- MySQL常用语法命令及函数
- Mysql常用操作语法汇总