Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Незакрытая транзакция. / 10 сообщений из 10, страница 1 из 1
17.03.2014, 12:45:18
    #38588061
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
Добрый день!
Пишу программу на Delphi под MySQL. В ходе недавнего рефакторинга кода и вставки транзакций в некоторые места в очередном билде вкралась ошибка. Не закрылась транзакция. Пользователь ввел около 100 строк данных. Пока он работал в программе, все видел. После выхода все данные визуально пропали. При работе с сервером для удобства пользуюсь программкой HeidiSQL. Так вот, при входе программой на сервер, она показывает, что в таблице 100 записей. При этом ни показать записи, ни выгрузить их в дамп не получается - таблица пуста. Я так подозреваю, что данные с незавершенной транзакцией где-то сидят в базе, раз их видит HeidiSQL. Но вот как посмотреть какие транзакции не закрыты в определенный промежуток времени и применить их - не знаю.
Буде признателен любой помощи или подсказке.
Таблица в InnoDB.
...
Рейтинг: 0 / 0
17.03.2014, 12:52:16
    #38588073
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavVirufТак вот, при входе программой на сервер, она показывает, что в таблице 100 записей.Продемонстрируйте, плиз, как именно это видно.
...
Рейтинг: 0 / 0
17.03.2014, 12:59:41
    #38588086
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavViruf,

авторПри работе с сервером для удобства пользуюсь программкой HeidiSQL. Так вот, при входе программой на сервер, она показывает, что в таблице 100 записей. При этом ни показать записи, ни выгрузить их в дамп не получается - таблица пуста.

Это как так ?

Зайди в mysql (это такая консольная утилита для подключения к mySQL),
выполни простой запрос --

Код: sql
1.
select count(*) from <ТВОЯ ТАБЛИЦА>;



и увидишь, есть ли записи в твоей таблице или нет.
...
Рейтинг: 0 / 0
17.03.2014, 13:24:38
    #38588128
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MasterZiv,





как-то так
...
Рейтинг: 0 / 0
17.03.2014, 13:26:21
    #38588135
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavVirufMasterZiv,

http://www.imageup.ru/img16/1688553/screenshot2.jpg.html][IMG] http://www.imageup.ru/img16/1688553/screenshot2.jpg [/IMG]

http://www.imageup.ru/img16/1688553/screenshot2.jpg.html][IMG] http://www.imageup.ru/img16/1688553/screenshot2.jpg [/IMG]

как-то так
...
Рейтинг: 0 / 0
17.03.2014, 13:28:33
    #38588144
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
select count(*) from <ТВОЯ ТАБЛИЦА>;

Это все понятно - выйдет пустой запрос с 0 записей. Но на скринах выше мы видим, что клиент MySQL видит что было 100 записей. И я надеюсь, что их можно каким-то образом восстановить.
...
Рейтинг: 0 / 0
17.03.2014, 13:31:34
    #38588150
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavViruf,

http://www.imageup.ru/img16/1688558/screenshot1.jpg.html

http://www.imageup.ru/img16/1688562/screenshot2.jpg.html

Блин... А редактирования нет сообщений? :)
...
Рейтинг: 0 / 0
17.03.2014, 13:31:46
    #38588152
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavViruf,

Не получилось исправить ваши ссылки. Приложите ту картинку, где видно число 100, прямо к посту.
...
Рейтинг: 0 / 0
17.03.2014, 13:33:19
    #38588153
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
MidavViruf,

Скорее всего данные берутся из статистики.
...
Рейтинг: 0 / 0
17.03.2014, 13:57:07
    #38588191
MidavViruf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Незакрытая транзакция.
miksoftMidavViruf,

Скорее всего данные берутся из статистики.

Просто уже было такое, когда я не поставил автоподтверждение транзакции в Delphi. Данные в программе были видны до момента выхода из программы. Потом оставалось только измененное количество строк. Но тогда другой вопрос - все эти запросы, хоть и неподтвержденные - они же где-то сохраняются? Можно их выцепить из лога какого-нибудь? И, кстати, файл к таблице bank.ibd занимает 131 килобайт. Что там в таком случае находится не подскажете?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Незакрытая транзакция. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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