Heim >Datenbank >MySQL-Tutorial >Wie kann ich mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP in MySQL definieren?
In relationalen Datenbankverwaltungssystemen wie MySQL ist die Pflege zeitlicher Informationen, etwa wenn Datensätze erstellt oder aktualisiert werden, von entscheidender Bedeutung für Datenintegrität und Nachverfolgung von Änderungen. MySQL stellt die CURRENT_TIMESTAMP-Klausel bereit, um TIMESTAMP-Spalten automatisch mit der aktuellen Systemzeit zu füllen.
Wenn Sie jedoch versuchen, eine Tabelle mit mehreren TIMESTAMP-Spalten zu definieren, jede mit CURRENT_TIMESTAMP als Standard- oder Aktualisierungswert, kann es vorkommen, dass Sie auf Folgendes stoßen: Folgender Fehler:
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Dieser Fehler verhindert, dass Sie die Tabelle mit dem gewünschten Verhalten separater Erstellungs- und Aktualisierungszeitstempelspalten erstellen.
Neueste Versionen von MySQL, B. MySQL 5.6.25, haben diese Einschränkung behoben. In diesen Versionen ist es möglich, mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP als Standard- oder Aktualisierungswert zu definieren.
Um beispielsweise eine Tabelle mit zwei TIMESTAMP-Spalten, ts_create und ts_update, mit dem gewünschten Verhalten zu erstellen:
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 );
Diese Anweisung erstellt erfolgreich die Tabelle mit beiden TIMESTAMP-Spalten und ihre Werte werden bei der Datensatzerstellung bzw. -aktualisierung automatisch mit der aktuellen Systemzeit aktualisiert.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP in MySQL definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!