您的位置:首页 > 数据库 > MySQL

mysql InnoDB 的行锁

2016-06-13 11:19 423 查看
[b]表的引擎类型必须为InnoDB才可以进行此操作。[/b]

相关链接:http://www.cnblogs.com/CyLee/p/5579672.html

共享锁:单独运行前两句,然后新建一个会话使用第三句、会发现无法使用。然后使用第四句即可解除锁.

[b]注意,必须为where条件所指定的列名添加索引或者本身为主键索引。否则会变成无法实现行锁,而会变成表锁[/b]

(PS:表锁的相关链接:http://www.cnblogs.com/CyLee/p/5575152.html)

(PS:表索引的相关链接:http://www.cnblogs.com/CyLee/p/5595100.html)

START TRANSACTION;

SELECT * FROM user_balance WHERE id = '15' LOCK IN SHARE MODE;

UPDATE user_balance SET user_money = '1000' WHERE id = '15'

UPDATE user_balance SET user_money = '1000' WHERE id = '16'

COMMIT;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: