#android #sqlite
#Android #sqlite
Вопрос:
В моем приложении для Android я создаю временную таблицу, чтобы выполнить в ней некоторые объединения.
db.execSQL("CREATE TEMPORARY TABLE pair (a INTEGER, b INTEGER);")
Не могли бы вы сказать мне, как долго она доступна? Кажется, что если я перезапущу приложение, оно исчезнет, но без перезапуска оно, похоже, находится в базе данных, но как долго?
Все, что я нашел в документах, что оно создано во временной базе данных.
Если ключевое слово «TEMP» или «TEMPORARY» встречается между «CREATE» и «TABLE», то новая таблица создается во временной базе данных.
Ответ №1:
Таблица будет локальной для сеанса SQLite, это означает, что она доступна до тех пор, пока db
объект не будет повторно инициализирован.
Это хорошо согласуется с идеей, что временные таблицы должны отображаться только в контексте, в котором они были созданы: два разных экземпляра сеанса БД могут иметь временные таблицы с одинаковыми именами, которые полностью разделены и не влияют друг на друга.