Как заблокировать строки в таблице InnoDB? - PullRequest
4 голосов
/ 10 ноября 2011

Я новый пользователь MySQL. Я создаю систему баз данных InnoDB.

В моем случае, мне нужно заблокировать строки, если используется выбор для обновления. Но даже если я провел много поисков, я не понимаю, как заблокировать строку для всех пользователей, если эта строка загружается одним пользователем.

Я использую php для подключения к базе данных mySQL.

Можете ли вы помочь мне решить это?

Ответы [ 2 ]

8 голосов
/ 10 ноября 2011

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;
2 голосов
/ 10 ноября 2011
select col1, col2 from table1 where col3='test' for update
...