我是一名新的MySQL用户。我创建了一个InnoDB数据库系统。
就我而言,如果使用select for update,我需要锁定行。但即使我做了很多搜索,如果这个行被一个用户加载,我也不明白如何为所有用户锁定行。
我使用php连接mySQL数据库。
你能帮我解决一下吗?
答案 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