Heim >Datenbank >MySQL-Tutorial >Wie setze ich den Standardwert einer Zeitstempelspalte in SQLite auf die aktuelle Zeit?

Wie setze ich den Standardwert einer Zeitstempelspalte in SQLite auf die aktuelle Zeit?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 11:51:35462Durchsuche

How to Set a Timestamp Column's Default Value to the Current Time in SQLite?

Erstellen von Zeitstempelspalten mit dem Standardwert „Jetzt“

Möglicherweise ist beim Versuch, eine Tabelle mit einer Zeitstempelspalte zu erstellen, ein Fehler aufgetreten hat den Standardwert DATETIME('now'). Als Sie die folgende Anweisung ausgeführt haben:

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    t TIMESTAMP DEFAULT DATETIME('now')
);

Sie haben eine Fehlermeldung erhalten.

Lösung

In SQLite Version 3.1.0 und höher: Sie können CURRENT_TIMESTAMP in der DEFAULT-Klausel verwenden. Dadurch wird der neuen Zeile eine Textdarstellung des aktuellen UTC-Datums und/oder der aktuellen UTC-Zeit zugewiesen.

CREATE TABLE test (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    t TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Bei Verwendung von CURRENT_TIMESTAMP:

  • CURRENT_TIME: Das Standardformat ist „HH:MM:SS“
  • CURRENT_DATE: Das Standardformat ist „JJJJ-MM-TT“
  • CURRENT_TIMESTAMP: Das Standardformat ist „JJJJ-MM-TT HH:MM:SS“

Das obige ist der detaillierte Inhalt vonWie setze ich den Standardwert einer Zeitstempelspalte in SQLite auf die aktuelle Zeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn