各位前辈们好,一直以来都有听到关于锁表、锁行的字眼,可是网上查了些资料看了以后感觉云里雾里的
感觉好像自己根本不能控制数据库如何锁行锁表
希望各位前辈能够指导一下我……谢谢了
多好的问题。我以前看书的时候,对此也百思不得骑姐。
以mysql innodb 为例吧。
假设有一个表,你希望抓出数据,
SELECT * FROM table_name WHERE id=10 ;
准备更新的时候,不希望别人修改本记录,怎么办?+ for update ,像是这样。
SELECT * FROM table_name WHERE id=10 FOR UPDATE;
这时,table内的id =10的记录就有一把lock出现。
show engine innodb status;
可以查看到被锁的表和记录。
怎么锁整个表?去掉where子句。不过这样太狠了,不要在生产环境用。
我暂时无mysql,没有实验哈。有问题请喷。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。