---
title: "Discussion on \"MySQL中select * for update锁表的范围\" | Hashnode"
description: "Discussion on \"MySQL中select * for update锁表的范围\". 由于InnoDB预设是Row-Level Lock，所以只有「明确」的指定主键，MySQL才会执行Row lock (只锁住被选取的资料例) ，否则MySQL将会执行Table\nLock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ，里面有id跟name二个栏位，id是主键。\n例1: (明确指定主键，并且有此笔资料，row lock)\nSELECT * FROM products WHERE id='3' FOR UPDATE;\nSELECT * FROM produc..."
url: "https://hashnode.com/posts/mysqlselect-for-update/658e754d0d01b67cc5169119"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [MySQL中select \* for update锁表的范围](https://blog.robinjiang.com/mysqlselect-for-update?utm_source=hashnode&utm_medium=feed)

由于InnoDB预设是Row-Level Lock，所以只有「明确」的指定主键，MySQL才会执行Row lock (只锁住被选取的资料例) ，否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ，里面有id跟name二个栏位，id是主键。 例1: (明确指定主键，并且有此笔资料，row lock) SELECT \* FROM products WHERE id='3' FOR UPDATE; SELECT \* FROM produc...

Jan 13, 2016 · 1 min read · blog.robinjiang.com  
Read the article

## Written by

[robin Jiang](https://hashnode.com/@robinj)

@robinj · SHENZHEN,CN

  
[View profile](https://hashnode.com/@robinj)

Geek,Agile

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
