За последние 24 часа нас посетили 16564 программиста и 1650 роботов. Сейчас ищут 2044 программиста ...

Проверка на блокировку

Тема в разделе "MySQL", создана пользователем GreatWasp, 5 июн 2008.

  1. GreatWasp

    GreatWasp Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Узбекистан, Ташкент.
    Добрый день,
    В моем приложении по некоторым причинам могут возникать взаимоблокировки, которы по истечению некоторого времени соответственно снимаются. Мне необходимо проверять заблокирована ли запись в данный момент в таблице или нет. Как это сделать?
     
  2. shreck

    shreck Активный пользователь

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    В бд поле is_blocked. Соответственно, если is_blocked == 1 то запись заблокирована, иначе нет.
     
  3. GreatWasp

    GreatWasp Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Узбекистан, Ташкент.
    Дело в том что я незнаю когда возникает взаимоблокировка, соответственно когда устанавливать is_blocked я не знаю. И потом эти блокировки снимает сам INNODB по истечению некоторого времени.
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    GreatWasp
    Что за блокировки? При записи? Может юзать IF EXITS?
     
  5. GreatWasp

    GreatWasp Активный пользователь

    С нами с:
    11 янв 2008
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Узбекистан, Ташкент.
    Вообщем при оплате когда удаленный сервис не доступен получается блокировка данных пользователя (строка в таблице). Почему хрен его знает. Когда он собирается сделать что-то другое Mysql отвечает что типа не могу редактировать запись. По истечению где-то 10 минут блокировка снимается. Сразу бы хотелось снимать их как-то.