SQLite, DEFAULT mit DATETIME('NOW')

E

enrem

Erfahrenes Mitglied
29
Hallo,

kann man in SQLite mit Hilfe von DEFAULT auch das aktuelle Datum und die Zeit übergeben oder funktioniert das nur über einen Trigger.

Zur Zeit habe ich das so gelöst.

Lösung mit Trigger :

CREATE TABLE Messdaten (IDMessdaten INTEGER PRIMARY KEY, Messbild TEXT, Menge double, timeEnter DATE)

CREATE TRIGGER insert_Messdaten_timeEnter AFTER INSERT ON Messdaten
BEGIN
UPDATE Messdaten SET timeEnter = datetime('now', 'localtime') WHERE rowid = new.rowid;
END;

Ohne Trigger mit DEFAULT geht leider nicht :

CREATE TABLE Messdaten (IDMessdaten INTEGER PRIMARY KEY, Messbild TEXT, Menge double, Datum DATE DEFAULT DATETIME('NOW') )

Hat jemand eine Ahnung warum das nicht geht?

Gruß enrem
 
Zuletzt bearbeitet:
Eine Ahnung habe ich nicht, aber warum nimmst Du beim Insert/Update nicht einfach die date-Function vom SQLite ? Das spart den Trigger und unnötige Aufrufe, zumal das SQLite eh langsam ist auf älteren Phones, weshalb man das ganze nicht zu sehr aufblähen sollte ...
 
Ich war neugierig da ich mich mit DEFAULT bei der Tabellenerzeugung beschäftigt habe. Mich wurmte es, das ich keine Funktion angeben konnte. So kam ich zum Trigger...

Ich denke auch, dass die Datenbank durch den Trigger ausgebremst wird. Danke für deine Antwort.
 

Ähnliche Themen

R
Antworten
6
Aufrufe
1.014
swa00
swa00
A
Antworten
1
Aufrufe
583
swa00
swa00
Zurück
Oben Unten