Есть ли способ запросить дату создания таблицы в SQLite? В целом я новичок в SQL. Я только что нашел этот запрос даты создания таблицы SQL Server. Я предполагаю, что sqlite_master эквивалентен sys.tables в SQLite. Это правильно? Но тогда моя таблица sqlite_master имеет только столбцы «type», «name», «tbl_name», «rootpage» и «sql». Если это невозможно в SQLite, как лучше всего реализовать эту функцию самостоятельно?
Дата создания таблицы SQLite
Ответы (1)
SQLite не хранит эти данные самостоятельно. Как вы сказали, в таблице sqlite_master
нет соответствующего столбца.
Я не могу придумать особенно приятного способа его реализовать. Вы можете создать какой-то интерфейс для создания таблиц, и он будет отмечать время, когда вы создаете новую, но все, что создано с помощью другого метода, не будет проходить через тот же процесс. Также похоже, что нет возможности установить триггер на CREATE TABLE
, так что это тоже не вариант.
Зачем вам нужна эта функциональность? Кажется, что создание таблиц - это то, чем вы не будете заниматься очень часто, может быть, есть способ лучше подойти к проблеме?
person
Chad Birch
schedule
20.05.2010
Я пишу мобильное приложение для Android и использую базу данных в качестве кеша для данных, загружаемых из Интернета. Чтобы уменьшить трафик, я хочу получать данные из базы данных, а не перезагружать их, если они запрашиваются повторно, но только если таблица не достигла определенного возраста, поскольку онлайн-данные могут измениться через некоторое время. Использование настраиваемого интерфейса для создания таблиц не будет проблемой, поскольку мой класс адаптера базы данных - единственная часть программы, имеющая прямой доступ к базе данных. В каком месте можно хранить даты создания? Должен ли я создать свою собственную настраиваемую основную таблицу?
- person Steven Meliopoulos; 21.05.2010
Да, в этом случае я бы просто создал вашу собственную таблицу, похожую на
sqlite_master
. Вам, вероятно, понадобится всего два столбца, имя таблицы и дата создания.
- person Chad Birch; 21.05.2010
На случай, если кому-то еще нужно сделать что-то подобное: сейчас я сделал что-то другое. Я встроил временную метку в названия самих таблиц и построил вокруг нее основу, и теперь она мне подходит. Таким образом, мне не придется ухаживать за другим столом.
- person Steven Meliopoulos; 31.05.2010