Могу ли я записать в таблицу после вызова LOCK TABLES tb1 READ? - PullRequest
1 голос
/ 10 января 2012

Могу ли я вызвать update / insert в таблицу (tb1) после вызова: LOCK TABLES tb1 READ?

Я прочитал руководство по MySQL, в котором говорится о блокировке чтения:

Сеанс, который удерживает блокировку, может читать таблицу (но не записывать ее).

Я ищу блокировку, которая позволяет мне ЧИТАТЬ / ЗАПИСАТЬ таблицу, но позволяет другим только ЧИТАТЬ доступ.

Как это сделать?

Моя база данных MyISAM.

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Вы не можете сделать это в MySQL. Лучше всего использовать WRITE lock , но тогда всем остальным сеансам придется ждать возможности чтения из таблицы.

0 голосов
/ 10 января 2012

Вы, вероятно, хотите сначала прочитать их:

http://dev.mysql.com/doc/refman/5.0/en/locking-issues.html

http://en.wikipedia.org/wiki/Isolation_(database_systems)

Читайте также о повышении блокировки.У меня были проблемы с более ранними версиями (4.x) mysql, где я не мог обновить ту же таблицу, из которой я читал.

...