Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ошибка в запросе на изменение (нарушение блокировки) / 11 сообщений из 11, страница 1 из 1
26.10.2015, 23:46:32
    #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
26.10.2015, 23:50:56
    #39087460
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе на изменение (нарушение блокировки)
тариф на то, чтобы опер слил авто. :-))))
...
Рейтинг: 0 / 0
27.10.2015, 00:01:10
    #39087465
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе на изменение (нарушение блокировки)
Lumixтариф на то, чтобы опер слил авто. :-))))

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


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

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

Вы, как обычно, правы... обвязка... это акцесс выплёвывает стандартное окно (изменение записи невозможно,
бла,бла, нарушение блокировки - 1, бла, бла)... СПАСИБО!.... с этим можно жить...
...
Рейтинг: 0 / 0
27.10.2015, 13:09:58
    #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
27.10.2015, 13:22:08
    #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
27.10.2015, 13:35:32
    #39087978
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в запросе на изменение (нарушение блокировки)
MasterZiv, tanglir,

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


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