Форум сайта python.su
Создаю в одной из процедур временную таблицу:
CREATE TEMPORARY TABLE mytable AS SELECT fam, im, ot FROM anothertable
А потом не могу удалить её!
DROP TABLE IF EXISTS mytable
Получаю:
database table is locked Unable to fetch row
Кем это она заблокирована???? Временная таблица заблокирована???? Кем? Чем?
Никакие модели-представления с ней не связаны. Есть только другие запросы к этой временной таблице посредством QSql.QSqlQuery
Как-нибудь можно узнать, какой объект держит эту временную таблицу?
(с) Ничиво ни панимаю!
Отредактировано Pluto (Июль 14, 2015 09:29:20)
Офлайн
Н-да.
База была заблокирована моделью, связанной с одной из таблиц в БД. Но НЕ с этой временной таблицей! С другой таблицей, хоть и в этой же БД!!! При этом UPDATE - пожалуйста, а вот DROP ни для какой НИЗЗЯ!!! Пока модель не clear'нул.
Свинство! Эта модель - источник данных для вьюшки, которая в основном окне показывает пользователю список людей. И теперь, для того, чтобы мне поработать с временной таблицей, я должен очищать эту модель (отвязывать от данных), а потом заново заполнять! Беспредел!
Офлайн
Ну и выглядит это теперь!
Пользователь смотрит на основое окно в котором у него список людей, выбирает пункт меню “выгрузка”, появляется дополнительное окно поверх основного для работы с выгрузкой. А в основном окне, при этом, пропадает весь список, словно реестр сдуло! Остаётся пустая таблица.
Пользователя ж кондратий хватить может!!!! Он с этим списком работает. Решит, что вся его работа - коту под хвост.
Скрывать, что ли, это основное окно при выгрузке, чтоб нервы людям поберечь.
Офлайн