2010-05-20 6 views
0

Existe-t-il un moyen d'interroger la date de création d'une table dans SQLite? Je suis nouveau à SQL, globalement. Je viens de trouver ce SQL Server table creation date query. Je suppose que sqlite_master est l'équivalent de sys.tables dans SQLite. Est-ce exact? Mais alors ma table sqlite_master n'a que les colonnes "type", "name", "nom_table", "rootpage" et "sql". Si ce n'est pas possible dans SQLite, quelle serait la meilleure façon d'implémenter cette fonctionnalité par moi-même?Date de création de la table SQLite

Répondre

1

SQLite ne stocke pas ces données lui-même. Comme vous l'avez dit, le tableau sqlite_master n'a aucune colonne pertinente.

Il n'y a pas de manière particulièrement agréable que je puisse mettre en place pour l'implémenter. Vous pouvez créer une sorte d'interface pour créer des tables, et lui faire noter l'heure chaque fois que vous en créez une nouvelle, mais tout ce qui est créé par une méthode différente ne passera pas par le même processus. Il semble également qu'il n'y ait aucun moyen de définir un déclencheur sur CREATE TABLE, donc ce n'est pas une option non plus.

Pourquoi voulez-vous cette fonctionnalité? Créer des tableaux semble être quelque chose que vous ne feriez pas très souvent, peut-être y a-t-il une meilleure façon d'aborder le problème?

+1

J'écris une application mobile pour Android et j'utilise la base de données comme cache pour les données que je charge depuis Internet. Pour réduire le trafic, je souhaite récupérer les données de la base de données au lieu de les recharger si elles sont répétées mais uniquement si la table n'a pas atteint un certain âge car les données en ligne peuvent changer après un certain temps. L'utilisation d'une interface personnalisée pour créer des tables ne poserait aucun problème car ma classe d'adaptateur de base de données est la seule partie du programme qui accède directement à la base de données. Quel serait un bon endroit pour stocker les dates de création? Devrais-je créer ma propre table maîtresse personnalisée? –

+0

Ouais, dans ce cas, je voudrais simplement créer votre propre table similaire à celle de 'sqlite_master'. Vous n'avez probablement besoin que de deux colonnes, le nom de la table et la date de création. –

+0

Au cas où quelqu'un d'autre aurait besoin de faire quelque chose comme ça: j'ai fait quelque chose de différent maintenant. J'ai intégré un horodatage dans le nom des tables et j'ai construit un cadre autour de cela et cela fonctionne bien pour moi maintenant. De cette façon, je n'ai pas d'autre table à surveiller. –

Questions connexes