Дата создания таблицы SQLite

Есть ли способ запросить дату создания таблицы в SQLite? В целом я новичок в SQL. Я только что нашел этот запрос даты создания таблицы SQL Server. Я предполагаю, что sqlite_master эквивалентен sys.tables в SQLite. Это правильно? Но тогда моя таблица sqlite_master имеет только столбцы «type», «name», «tbl_name», «rootpage» и «sql». Если это невозможно в SQLite, как лучше всего реализовать эту функцию самостоятельно?


person Steven Meliopoulos    schedule 20.05.2010    source источник


Ответы (1)


SQLite не хранит эти данные самостоятельно. Как вы сказали, в таблице sqlite_master нет соответствующего столбца.

Я не могу придумать особенно приятного способа его реализовать. Вы можете создать какой-то интерфейс для создания таблиц, и он будет отмечать время, когда вы создаете новую, но все, что создано с помощью другого метода, не будет проходить через тот же процесс. Также похоже, что нет возможности установить триггер на CREATE TABLE, так что это тоже не вариант.

Зачем вам нужна эта функциональность? Кажется, что создание таблиц - это то, чем вы не будете заниматься очень часто, может быть, есть способ лучше подойти к проблеме?

person Chad Birch    schedule 20.05.2010
comment
Я пишу мобильное приложение для Android и использую базу данных в качестве кеша для данных, загружаемых из Интернета. Чтобы уменьшить трафик, я хочу получать данные из базы данных, а не перезагружать их, если они запрашиваются повторно, но только если таблица не достигла определенного возраста, поскольку онлайн-данные могут измениться через некоторое время. Использование настраиваемого интерфейса для создания таблиц не будет проблемой, поскольку мой класс адаптера базы данных - единственная часть программы, имеющая прямой доступ к базе данных. В каком месте можно хранить даты создания? Должен ли я создать свою собственную настраиваемую основную таблицу? - person Steven Meliopoulos; 21.05.2010
comment
Да, в этом случае я бы просто создал вашу собственную таблицу, похожую на sqlite_master. Вам, вероятно, понадобится всего два столбца, имя таблицы и дата создания. - person Chad Birch; 21.05.2010
comment
На случай, если кому-то еще нужно сделать что-то подобное: сейчас я сделал что-то другое. Я встроил временную метку в названия самих таблиц и построил вокруг нее основу, и теперь она мне подходит. Таким образом, мне не придется ухаживать за другим столом. - person Steven Meliopoulos; 31.05.2010