数据库并行访问控制
作者
姓名:Neo Chen (陈景峯)
昵称:netkiller
呼号:BG7NYT
手机:+86 13113668890
这里主要讲述有关开发中遇到的数据库并行问题
防止并行显示
背景
我们有一个order订单表,工作流如下
创建订单 -> 订单分配 -> 订单审核 -> 批准 -> 发货 ... 等等
有多个岗位,每个岗位上有多个工作人员。需要实现相同岗位上的工作人员看到的订单不能重复,防止多人同时操作一个订单。
id | user | sn | status
-----------------------------------
1 | neo | x001 | new
2 | jam | x002 | new
3 | sam | x003 | new
4 | tom | x004 | new
5 | ann | x005 | new
6 | leo | x006 | new
7 | ant | x007 | new
8 | cat | x008 | new
正常情况只要是多人一起打开订单页面就会显示上面的订单,并且每个人显示的内容都相同。
CREATE TABLE `orders` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`sn` INT(10) UNSIGNED ZEROFILL NOT NULL,
`status` ENUM('New','Pending',&