powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в запросе на изменение (нарушение блокировки)
11 сообщений из 11, страница 1 из 1
Ошибка в запросе на изменение (нарушение блокировки)
    #39087456
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация не понятная, БД 5.х inno, в таблице всего одна запись с ключом id + четыре флага, которые по функционалу могут принимать значения только (0 и 1). Исходное состояние записи например 1,0,0,0,0. Вот такой запрос меняет например последний флаг
с 0 на 1 легко: UPDATE flags SET flags.tarif = 1 WHERE (((flags.id)=1)); Соответственно, вот такой запрос этот же флаг сбрасывает в ноль тоже легко UPDATE flags SET flags.tarif = 0 WHERE (((flags.id)=1));
Почему повторное выполнение одного и того же запроса вызывает ошибку нарушение блокировки ? То есть я не могу тупо один и тот же
флаг прописать дважды или нулём или единицей ??? Приходится перед установкой флага в 1 сначала проверить - а не стоит ли флаг
уже в единице.... тоже самое и с остальными флагами... ну что ещё... таблица прилинкована через ODBC в акцес, настроенный через DSN,
винда пофиг какая, драйвер ODBC 5.1.... флаги нумерик + картинка... честно говоря не сильно напрягает, но сильно интересно почему
нельзя...
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087460
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тариф на то, чтобы опер слил авто. :-))))
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087465
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixтариф на то, чтобы опер слил авто. :-))))

ну примерно где то так...
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087469
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, бог с ней, с этой проблемой, засуну проверку в этот же запрос в качестве доп. условия типа:
Код: sql
1.
UPDATE flags SET flags.tarif = 1 WHERE (((flags.tarif)=0) AND ((flags.id)=1));


всё равно для меня MySql только как инструмент для миграции данных...
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087529
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagв таблице всего одна записьа начешуя вам тогда where, извините за мой французский?
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087556
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirа начешуя вам тогда where, извините за мой французский?

В вопросе локализована только проблема...
Записи с ключом 2,3, ... это лог изменения, на картинке и поля то не все (дата, время, кто, что, откуда, бла, бла), не выкладывать же всё тз...
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087580
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagПочему повторное выполнение одного и того же запроса вызывает ошибку нарушение блокировки ?
Текст запроса никак не может вызвать блокировку.
Либо блокировка есть следствие работы "обвязки", либо Вы по непонятной причине считаете блокировкой состояние, когда запись не изменяется - а MySQL считает только количество ФАКТИЧЕСКИХ изменений данных.
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087621
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Вы, как обычно, правы... обвязка... это акцесс выплёвывает стандартное окно (изменение записи невозможно,
бла,бла, нарушение блокировки - 1, бла, бла)... СПАСИБО!.... с этим можно жить...
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087940
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagСитуация не понятная, БД 5.х inno, в таблице всего одна запись с ключом id + четыре флага, которые по функционалу могут принимать значения только (0 и 1). Исходное состояние записи например 1,0,0,0,0. Вот такой запрос меняет например последний флаг
с 0 на 1 легко: UPDATE flags SET flags.tarif = 1 WHERE (((flags.id)=1)); Соответственно, вот такой запрос этот же флаг сбрасывает в ноль тоже легко UPDATE flags SET flags.tarif = 0 WHERE (((flags.id)=1));
Почему повторное выполнение одного и того же запроса вызывает ошибку нарушение блокировки ? То есть я не могу тупо один и тот же
флаг прописать дважды или нулём или единицей ???

Высока вероятность того, что ты не знакрываешь транзакцию.
Либо делай явный commit, либо включи autocommit .
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087956
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagAkina,

Вы, как обычно, правы... обвязка... это акцесс выплёвывает стандартное окно (изменение записи невозможно,
бла,бла, нарушение блокировки - 1, бла, бла)... СПАСИБО!.... с этим можно жить...а вы (не вы конкретно) как обычно не пользуетесь поиском
https://www.google.ru/search?q=access нарушение блокировки
-->
http://www.sql.ru/forum/831446/access-odbc-mysql-narushenie-blokirovki-pri-obnovlenii
-->
http://www.harkyman.com/2008/08/01/mysql-ms-access-odbc-lock-violations-for-the-record/
авторSo, with this simple query:

“UPDATE TblParameters SET Value=’1587′ WHERE Parameter=’CurrentCustomer’;”

You will get a “lock violation” if the Value field already contains “1587″.

If you’re doing this interactively, you can just click through the warning. However, if you’re getting this problem in the middle of a program or script, all you need to do is to enclose the Update command within an if/then statement that checks to see if the value you want to update is already at the desired value. If they are already the same, just skip it.

Yes, it’s one extra step, and one more hit on the DB, but that’s what you get for using Access as a front end.
...
Рейтинг: 0 / 0
Ошибка в запросе на изменение (нарушение блокировки)
    #39087978
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, tanglir,

Спасибо за участие и советы... сорри... для меня пока MySql просто черный ящик, прошу прощения, что отвлекаю
всякой ерундой (с вашей точки зрения)...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в запросе на изменение (нарушение блокировки)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]