如何锁定InnoDB表中的行?

时间:2011-11-10 09:11:19

标签: php mysql innodb

我是一名新的MySQL用户。我创建了一个InnoDB数据库系统。

就我而言,如果使用select for update,我需要锁定行。但即使我做了很多搜索,如果这个行被一个用户加载,我也不明白如何为所有用户锁定行。

我使用php连接mySQL数据库。

你能帮我解决一下吗?

2 个答案:

答案 0 :(得分:8)

MySQL将自动为您执行行锁定 不需要自己进行行锁定。

但是,如果您坚持这样做,可以使用select ... for update 请参阅:http://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html

SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;

答案 1 :(得分:2)

select col1, col2 from table1 where col3='test' for update