mysql 行锁
来源:互联网 发布:浙江师范大学行知 编辑:程序博客网 时间:2024/06/05 10:32
在我们数据库里面,处理某些针对特定行的数据处理的时候, 例如书店里有2本书,有3个人来借。 有一个订单,多个人来抢。这个时候都需要用到行锁。
举例:
1. 创建数据库:
CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `num` int(11) default NULL, `name` varchar(10) default NULL, PRIMARY KEY (`id`), KEY `abc` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into orders(num) values(1),(1),(1),(1),(1); insert into orders(num) values(2),(2),(2),(2),(2);
2. 行锁例子:
begin; select * from orders where id=3 and num=1 for update; update orders set name='abc', num=0 where id=3 and num=1; commit;
3. 可以启动两个session
session1里面输入
begin; select * from orders where id=3 and num=1 for update;
begin; select * from orders where id=3 and num=1 for update;
这个时候, session1里面能执行下去,但是session2里面会等待。
如果session1执行完毕,session2才会执行。但是因为session1里面已经修改了num=0,因此session2里面不能select到能修改的行。因此也就不能修改这一行了。
0 0
- mysql 行锁
- mysql 行锁
- mysql行锁
- mysql InnoDB行锁
- mysql 并发 行锁 inoodb
- mysql innodb 行锁
- mysql innodb 行锁 insert
- mysql innodb行锁
- mysql 行锁 表锁
- mysql学习----行锁\表锁
- mysql--innodb行锁
- MySQL死锁--Innodb行锁
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- Android依赖注入: Dagger (Part 1)
- 搬瓦工bandwagon vps centos 笔记
- 欢迎使用CSDN-markdown编辑器
- 如何做好div+css的浏览器兼容性
- PAT乙级 1010. 一元多项式求导
- mysql 行锁
- 单词翻转
- C语言之基本算法32—鞍点
- Storm常见问题及解决方案总结
- Hdu5012(bfs)
- 安卓的socket连接
- Mou 工具示例(自己用来查的)
- C语言之基本算法33—矩阵的基本运算
- C语言之基本算法34—分解质因数(方法一)