|
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
|
||||||
Не работает транзакция22.01.2025, 16:38. Показов 1689. Ответов 14
Добрый день! Случилась такая история. Есть код
0
|
||||||
| 22.01.2025, 16:38 | |
|
Ответы с готовыми решениями:
14
Не работает транзакция Не работает транзакция Не работает транзакция MySQL |
|
Native x86
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
|
|
| 22.01.2025, 19:26 | |
|
БД какая? Не все базы (и не все движки в некоторых базах) поддерживают транзакции.
0
|
|
|
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
|
|
| 23.01.2025, 17:20 [ТС] | |
|
0
|
|
|
Native x86
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
|
|||
| 23.01.2025, 17:57 | |||
|
В коде у вас все выглядит правильно, но проблема скорее всего в другом месте.
0
|
|||
|
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
|
|||||||||
| 23.01.2025, 18:12 [ТС] | |||||||||
|
Добавлено через 3 минуты
0
|
|||||||||
|
Невнимательный
|
||||||||||||
| 23.01.2025, 18:32 | ||||||||||||
|
gena8208, как-то можно проверить влияет-ли ?
какое-то добавление, а потом скрипт просто завершает работу... без COMMIT/ROLLBACK изначально вроде так и было реализовано
Не по теме: Как вариант ещё попробовать COMMIT и ROLLBACK в функции где-то реализовать, и зарегистрировать её с
но тоже костыль, и передавать/получать кучу всего... объект pdo, перевменную какую насчёт всё-ли выполнено
1
|
||||||||||||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||
| 23.01.2025, 18:36 | |||
|
Условно, у юзера баланс 100 рублей. Запускается 2 транзакции, каждая на списание 70 рублей. Каждая видит, что у юзера баланс 100, исходя из этого оформляет покупку и обновляет баланс на 30р. В итоге оформилось 2 заказа суммарно на 140р, а у юзера списалось только 70. Для решения проблемы используем блокирующее чтение, т.е. SELECT ... FOR UPDATE. Думаю в вашем случае это вполне может быть оно, т.к. подвисает база, и после отвисания срабатывают сразу несколько транзакций, ожидающих выполнения.
1
|
|||
| 23.01.2025, 18:40 | |
|
0
|
|
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|
| 23.01.2025, 19:06 | |
|
1
|
|
|
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
|
||||||
| 23.01.2025, 20:48 [ТС] | ||||||
|
Добавлено через 1 минуту Добавлено через 4 минуты
0
|
||||||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
|
|||
| 23.01.2025, 22:15 | |||
|
2) Операция должна быть идемпотентна. Чтоб если вы запускали несколько раз одну и туже операцию - в итоге получили один результат, как будто бы выполнили эту операцию один раз. Для этого и необходим ключ идемпотентности. У вас оба пункта не выполнены.
0
|
|||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||||
| 23.01.2025, 23:12 | |||||
|
0
|
|||||
|
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
|
|||||||||||||
| 26.01.2025, 10:32 [ТС] | |||||||||||||
|
Добавлено через 31 секунду Добавлено через 5 минут Добавлено через 21 минуту Пример
0
|
|||||||||||||
|
Невнимательный
|
||
| 26.01.2025, 11:10 | ||
|
Когда для пользователя выполняется скрипт, который открыл сессию, файл сессии блокируется , и открытия сессии, с таким-же сид, ожидают разблокирования ... по завершению первого, или по выполнению из него session_write_close() или подобного . Также частоту выполнения можно ограничить, сохранением и проверкой времени успешного выполнения, касательно выполнения какого-либо действия конкретно.
0
|
||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
||||
| 26.01.2025, 13:44 | ||||
|
0
|
||||
| 26.01.2025, 13:44 | |
|
Помогаю со студенческими работами здесь
15
транзакция Транзакция Транзакция
Транзакция Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|