(MySQL) LOCK TABLES T1 WRITE на отдельный row можно сделать?
От: MasterMind Россия  
Дата: 20.11.15 16:49
Оценка:
Можно ли как то сделать лок на чтения для конкретной записи, а не на всю таблицу?
Re: (MySQL) LOCK TABLES T1 WRITE на отдельный row можно сделать?
От: Anton Batenev Россия https://github.com/abbat
Дата: 20.11.15 18:55
Оценка:
Здравствуйте, MasterMind, Вы писали:

MM> Можно ли как то сделать лок на чтения для конкретной записи, а не на всю таблицу?


SELECT FOR UPDATE, но только в InnoDB и с возможными побочными эффектами.
Управляю вселенной не привлекая внимания санитаров.
Re[2]: (MySQL) LOCK TABLES T1 WRITE на отдельный row можно сделать?
От: MasterMind Россия  
Дата: 20.11.15 22:25
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, MasterMind, Вы писали:


MM>> Можно ли как то сделать лок на чтения для конкретной записи, а не на всю таблицу?


AB>SELECT FOR UPDATE, но только в InnoDB и с возможными побочными эффектами.


Нет, этот вариант не подходит.
Re[2]: (MySQL) LOCK TABLES T1 WRITE на отдельный row можно сделать?
От: MasterZiv СССР  
Дата: 23.11.15 12:48
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

MM>> Можно ли как то сделать лок на чтения для конкретной записи, а не на всю таблицу?


AB>SELECT FOR UPDATE, но только в InnoDB и с возможными побочными эффектами.


SELECT FOR UPDATE на чтение не лочит, только на запись. Это уровень изоляции WRITE COMMITTED, самый нижний.

Можно попробовать поставить уровень изоляции SERIALIZABLE и сделать SELECT FOR UPDATE
Но я не поню, что там должно произойти, может и НЕ сработать.
Re[3]: (MySQL) LOCK TABLES T1 WRITE на отдельный row можно сделать?
От: wildwind Россия  
Дата: 27.11.15 08:25
Оценка: +1 :)
Здравствуйте, MasterZiv, Вы писали:

MZ> SELECT FOR UPDATE на чтение не лочит, только на запись. Это уровень изоляции WRITE COMMITTED, самый нижний.


WAT

Мастер, ты неподражаем, как всегда.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.