mysql数据库的共享锁
1、在mysql中的test数据库中建立一个表shoufei:
CREATE TABLE `shoufei` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `xiangmu` varchar(20) NOT NULL, `jiage` float NOT NULL, `shuliang` int(11) NOT NULL, `jine` float DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8


2、用2个用户登录mysql(abc_1,abc_2),演示对记录的共享锁。


3、abc_1用户对表id为1的记录加共享锁(不让abc_2用户修改):
SET autocommit=0;
START TRANSACTION;
SELECT * FROM shoufei WHERE id=1 LOCK IN SHARE MODE ;

4、abc_2用户对id=1的修改,命令等待……会出现超时:
SET autocommit=0;
START TRANSACTION;
UPDATE shoufei SET jiage=10 WHERE id=1;

5、abc_1用户提交事务,会记录解锁:
commit;

6、ab_1用户对记录解锁话,abc_2用户对id=1的记录修改成功。
SET autocommit=0;
START TRANSACTION;
UPDATE shoufei SET jiage=10 WHERE id=1;
COMMIT;

7、abc_2查询表中的数据:
select * from shoufei;
