J'ai une base de données SQLite, version 3 et j'utilise C # pour créer une application qui utilise cette base de données.
Je souhaite utiliser un champ d'horodatage dans une table pour la concurrence, mais je remarque que lorsque j'insère un nouvel enregistrement, ce champ n'est pas défini et est nul.
Par exemple, dans MS SQL Server, si j'utilise un champ d'horodatage, celui-ci est mis à jour par la base de données, je ne dois pas le définir moi-même. est-ce possible dans SQLite?
DATETIME
de type de données , mais SQLite accepte n'importe quoi comme type de champ .DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW', 'localtime'))
on obtient en fait des valeurs de microseconde significatives.Vous pouvez créer un champ TIMESTAMP dans la table sur le SQLite, voir ceci:
Voici le résultat:
la source
La lecture de datefunc un exemple de travail de complétion automatique de date / heure serait:
Insérons quelques lignes de manière à lancer la complétion automatique de la date / heure:
Les données stockées montrent clairement que les deux premiers sont identiques mais pas la troisième fonction:
Attention, les fonctions SQLite sont entre parenthèses! Dans quelle mesure était-ce difficile de le montrer dans un exemple?
S'amuser!
la source
vous pouvez utiliser des déclencheurs. fonctionne très bien
la source
Pour compléter les réponses ci-dessus ...
Si vous utilisez EF, décorez la propriété avec Data Annotation [Timestamp], puis accédez à OnModelCreating surchargé, dans votre classe de contexte, et ajoutez ce code API Fluent:
Il attribuera une valeur par défaut à toutes les données qui seront insérées dans cette table.
la source
vous pouvez utiliser le datetime personnalisé en utilisant ...
utilisez «NOW», «localtime» pour obtenir la date actuelle du système, sinon il affichera une heure passée ou autre dans votre base de données après l'heure d'insertion dans votre base de données.
Merci...
la source
Si vous utilisez SQLite DB-Browser, vous pouvez modifier la valeur par défaut de cette manière:
Je recommande de faire une mise à jour de votre base de données avant, car un format incorrect dans la valeur peut entraîner des problèmes dans le navigateur SQLLite.
la source