MySql(23)------mysql锁定语句
来源:互联网 发布:mysql编写自定义函数 编辑:程序博客网 时间:2024/06/01 09:04
MySql支持MyISAM和MEMORY存储引擎的表进行表级锁定,对BDB存储引擎的表进行页级锁定,
对InnoDB存储引擎的表进行行级锁定。默认情况下,表锁和行锁都是自动获取的,不需要额外的命令。
但是有些情况下,需要我们明确的去指定表的锁级别,操作数据,保证整个事务的完整性。
一 准备条件
建表:
CREATE TABLE `t_user_main` ( `f_userId` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户id,作为主键', `f_userName` varchar(100) DEFAULT NULL, `f_age` int(3) DEFAULT NULL COMMENT '年龄', PRIMARY KEY (`f_userId`), KEY `userName_index` (`f_userName`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO t_user_main (f_userName, f_age) VALUES('one',24),('two',25),('three',26),('four',27),('five',28),('six',29);
二 LOCK TABLE 和 UNLOCK TABLE
LOCK TABLE可以锁定用于当前线程的表。如果被其他线程锁定,当前线程就会处于等待状态,直到其他
线程释放锁,本线程获取所有锁定为止。
UNLOCK TABLES可以释放当前线程获得得锁定。当前线程执行一个LOCK TABLES时,或当与服务器的连接关闭时,
所有由当前线程锁定的表被隐含的进行解锁。
锁定与解锁语法:
锁定单个表:
LOCK TABLE table_name[AS alias]{READ[LOCAL]|[LOW_PRIORITY]WRITE};
锁定多个表:
LOCK TABLES
table_name[AS alias]{READ[LOCAL]|[LOW_PRIORITY]WRITE}
[,table_name[AS alias]{READ[LOCAL]|[LOW_PRIORITY]WRITE}]......
解锁(一个或多个):
UNLOCK TABLES;eg:
0 0
- MySql(23)------mysql锁定语句
- mySql 事务控制和锁定语句
- mysql 表锁定,库锁定
- 如何锁定MYSQL数据表
- MySQL锁定数据库表
- mysql锁定机制研究
- mysql 表锁定
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql锁定机制研究
- MySQL锁定机制简介
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- MySQL 数据库锁定机制
- MySQL锁定机制
- mysql数据库锁定机制
- Linux基本命令【二】
- ANDROID STUDIO系列教程一下载与安装
- Xenomai 3 和 PREEMPT_RT 相比有什么好处
- 【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)
- 日志系统之Flume日志收集
- MySql(23)------mysql锁定语句
- win7 链接Linux 上MySQL数据库
- CF#710 E. Generate a String (DP)
- Linux网络编程 - BSD Socket网络通信编程
- 以后博客的规划
- 【Dubbo实战】基础学习篇(一)
- runtime如何通过selector找到对应的IMP地址?(分别考虑类方法和实例方法)
- 极客
- Android一整套图片解决方案(fresco三级缓存框架内部已经实现)