Поврежденная таблица базы данных не может DROP
Использование SQLite3 и Ubuntu 14.04-LTS. Мне удалось неправильно набрать при создании виртуальной таблицы для поиска FTS. Теперь я не могу удалить таблицу. Это то, что я хотел:
CREATE VIRTUAL TABLE tFind USING FTS4(main TEXT, base TEXT, hash TEXT);
Но я должен был нажать "5" вместо "4" и теперь не могу DROP
стол. Когда я пытаюсь, я получаю эту ошибку:
Ошибка обновления схемы для таблицы main.tFind: такого модуля нет FTS5
Я искал и нашел информацию о SQLite3 для терминала (CLI), но я не знаю, как использовать команды внутри.
Как я могу это починить? У меня много сотен строк данных и около десятка таблиц, поэтому я не могу просто создать новую базу данных с теми же таблицами.
1 ответ
Проблема решена: найдено следующее "
Удалить таблицу, изначально созданную с помощью "неизвестного токенизатора"?
Где
А затем используйте (очень опасный) PRAGMA writable_schema, чтобы удалить оставшуюся информацию об этой таблице из системной таблицы:
PRAGMA writable_schema = ON;
DELETE FROM sqlite_master WHERE type = 'table' AND name = 'tFind';
Большое спасибо CL. для этого поста.