Ich habe eine SQLite-Datenbank, Version 3, und verwende C #, um eine Anwendung zu erstellen, die diese Datenbank verwendet.
Ich möchte ein Zeitstempelfeld in einer Tabelle für die Parallelität verwenden, aber ich stelle fest, dass dieses Feld beim Einfügen eines neuen Datensatzes nicht festgelegt ist und null ist.
Wenn ich beispielsweise in MS SQL Server ein Zeitstempelfeld verwende, das von der Datenbank aktualisiert wird, muss ich es nicht selbst festlegen. ist das in SQLite möglich?
DATETIME
Datentyp, aber SQLite nimmt alles als Feldtyp.DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW', 'localtime'))
einem bekommt man tatsächlich aussagekräftige Mikrosekundenwerte.Sie können das TIMESTAMP-Feld in einer Tabelle auf der SQLite erstellen.
Das ist das Ergebnis:
quelle
Das Lesen von datefunc wäre ein funktionierendes Beispiel für die automatische Vervollständigung von Datum und Uhrzeit:
Fügen Sie einige Zeilen so ein, dass die automatische Vervollständigung von Datum und Uhrzeit eingeleitet wird:
Die gespeicherten Daten zeigen deutlich, dass die ersten beiden gleich sind, aber nicht die dritte Funktion:
Beachten Sie, dass SQLite-Funktionen in Klammern stehen! Wie schwierig war es, dies in einem Beispiel zu zeigen?
Habe Spaß!
quelle
Sie können Trigger verwenden. funktioniert sehr gut
quelle
Um die obigen Antworten zu ergänzen ...
Wenn Sie EF verwenden, schmücken Sie die Eigenschaft mit Data Annotation [Timestamp], wechseln Sie dann zu dem überschriebenen OnModelCreating in Ihrer Kontextklasse und fügen Sie diesen Fluent API-Code hinzu:
Für alle Daten, die in diese Tabelle eingefügt werden, wird ein Standardwert festgelegt.
quelle
Sie können die benutzerdefinierte Datums- und Uhrzeitangabe verwenden, indem Sie ...
Verwenden Sie 'JETZT', 'Ortszeit', um das aktuelle Systemdatum abzurufen. Andernfalls wird nach dem Einfügen in Ihre Datenbank eine vergangene oder andere Zeit in Ihrer Datenbank angezeigt.
Danke...
quelle
Wenn Sie den SQLite DB-Browser verwenden, können Sie den Standardwert folgendermaßen ändern:
Ich empfehle, Ihre Datenbank vorher zu aktualisieren, da ein falsches Format im Wert zu Problemen im SQLLite-Browser führen kann.
quelle