Heim >Datenbank >MySQL-Tutorial >Können MySQL-Tabellen jetzt mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP haben?

Können MySQL-Tabellen jetzt mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP haben?

Linda Hamilton
Linda HamiltonOriginal
2024-11-30 01:47:10379Durchsuche

Can MySQL Tables Now Have Multiple TIMESTAMP Columns with CURRENT_TIMESTAMP?

Eine TIMESTAMP-Spalte mit aufgehobener CURRENT_TIMESTAMP-Beschränkung

In früheren Versionen von MySQL konnte eine Tabelle nur eine TIMESTAMP-Spalte mit dem CURRENT_TIMESTAMP-Wert enthalten entweder die DEFAULT- oder ON UPDATE-Klausel. Der Versuch, eine Tabelle mit mehreren solchen Spalten zu erstellen, führte zu einem Fehler.

Die restriktive Klausel

Die folgende Aussage veranschaulicht die fehleranfällige Struktur:

CREATE TABLE `foo` (
  `ProductID` INT(10) UNSIGNED NOT NULL,
  `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB;

Der Fehler wurde zurückgegeben:

Error Code : 1293
Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

Historisch Grund

Diese Einschränkung hatte in der Vergangenheit ihre Ursache in Code-Legacy-Gründen. Sie wurde jedoch in neueren MySQL-Versionen aufgehoben.

Entfernung der Einschränkung

Die Einschränkung wurde in MySQL 5.6.5 am 10. April 2012 entfernt. Die Versionshinweise state:

"Bisher konnte höchstens eine TIMESTAMP-Spalte pro Tabelle automatisch initialisiert oder auf das aktuelle Datum aktualisiert werden und Zeit. Diese Einschränkung wurde aufgehoben. Jede TIMESTAMP-Spaltendefinition kann eine beliebige Kombination aus DEFAULT CURRENT_TIMESTAMP- und ON UPDATE CURRENT_TIMESTAMP-Klauseln haben. Außerdem können diese Klauseln jetzt mit DATETIME-Spaltendefinitionen verwendet werden Auswirkungen

Diese Änderung in MySQL ermöglicht eine größere Flexibilität beim Tabellendesign. Entwickler können jetzt mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP-Werten verwenden, um Änderungen in verschiedenen Aspekten einer einzelnen Entität zu verfolgen.

Das obige ist der detaillierte Inhalt vonKönnen MySQL-Tabellen jetzt mehrere TIMESTAMP-Spalten mit CURRENT_TIMESTAMP haben?. 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