开发者社区 问答 正文

关于锁表和锁行……

各位前辈们好,一直以来都有听到关于锁表、锁行的字眼,可是网上查了些资料看了以后感觉云里雾里的

感觉好像自己根本不能控制数据库如何锁行锁表

希望各位前辈能够指导一下我……谢谢了

展开
收起
a123456678 2016-07-01 14:47:59 1914 分享 版权
1 条回答
写回答
取消 提交回答
  • 多好的问题。我以前看书的时候,对此也百思不得骑姐。

    以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,没有实验哈。有问题请喷。

    2019-07-17 19:50:02
    赞同 展开评论
问答分类:
问答地址: