Как надежно проверить в SQLite, существует ли конкретная пользовательская таблица?
Я не прошу ненадежных способов, таких как проверка, вернул ли «select *» в таблице ошибку или нет (это даже хорошая идея?).
Причина такова:
В моей программе мне нужно создать, а затем заполнить некоторые таблицы, если они еще не существуют.
Если они уже существуют, мне нужно обновить некоторые таблицы.
Должен ли я использовать какой-то другой путь вместо этого, чтобы сигнализировать о том, что соответствующие таблицы уже созданы - например, путем создания / установки / установки определенного флага в файле инициализации / настройки программы на диске или что-то еще?
Или мой подход имеет смысл?
sqlite3.OperationalError
, поэтому вам нужно проанализировать сообщение об ошибке, чтобы убедиться, что это, например, сообщение «таблица TABLE_NAME уже существует» при создании таблица, а если нет, то переформулируйте ошибку, и я думаю, что нет никакой гарантии, что формулировка ошибки не изменится.