Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie implementiert man mehrere TIMESTAMP-Felder mit CURRENT_TIMESTAMP in MySQL?

Mary-Kate Olsen
Freigeben: 2024-11-05 16:45:02
Original
919 Leute haben es durchsucht

How to Implement Multiple TIMESTAMP Fields with CURRENT_TIMESTAMP in MySQL?

MySQL: Unterstützung mehrerer TIMESTAMP-Felder mit CURRENT_TIMESTAMP

In der MySQL-Dokumentation heißt es, dass eine Tabelle nur eine TIMESTAMP-Spalte mit dem CURRENT_TIMESTAMP-Wert enthalten kann entweder die DEFAULT- oder ON UPDATE-Klausel. Dies kann einschränkend sein, wenn Sie sowohl die Erstellungs- als auch die Aktualisierungszeitstempel eines Datensatzes verfolgen möchten.

Fehlerbehandlung

Wenn Sie versuchen, eine Tabelle mit mehr als einem zu erstellen Wenn Sie die Spalte TIMESTAMP mit CURRENT_TIMESTAMP verwenden, wird ein Fehler wie der folgende auftreten:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Nach dem Login kopieren

Lösung

Neueste Versionen von MySQL (5.6.25 und höher) haben dieses Problem behoben Einschränkung. Sie können jetzt Tabellen mit mehreren TIMESTAMP-Spalten definieren, jede mit ihrem eigenen CURRENT_TIMESTAMP-Verhalten. Hier ist ein Beispiel:

<code class="sql">CREATE TABLE `msgs` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `msg` VARCHAR(256),
    `ts_create` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ts_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);</code>
Nach dem Login kopieren

Mit dieser aktualisierten Syntax werden sowohl die Spalten ts_create als auch ts_update automatisch auf den aktuellen Zeitstempel gesetzt, wenn ein neuer Datensatz eingefügt oder ein vorhandener Datensatz aktualisiert wird.

Das obige ist der detaillierte Inhalt vonWie implementiert man mehrere TIMESTAMP-Felder mit CURRENT_TIMESTAMP in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage