„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was waren die Einschränkungen bei der Verwendung von Current_Timestamp mit Zeitstempelspalten in MySQL vor Version 5.6.5?

Was waren die Einschränkungen bei der Verwendung von Current_Timestamp mit Zeitstempelspalten in MySQL vor Version 5.6.5?

Veröffentlicht am 2025-02-04
Durchsuche:641

What Were the Restrictions on Using CURRENT_TIMESTAMP with TIMESTAMP Columns in MySQL Before Version 5.6.5?

Einschränkungen für Zeitstempelspalten mit Current_Timestamp in Standardeinstellung oder auf Aktualisierung von Klauseln in MySQL -Version war eine Einschränkung, die eine Tabelle auf nur eine Zeitstempelspalte mit einer Standard -Current -Timestamp oder einer Aktualisierungsklausel aktualisieren. Diese Einschränkung wurde auf INT, Bigint und Smallint -Ganzzahlen zurückgegangen, als sie ursprünglich 2008 eingeführt wurden.

Diese Einschränkung ergab Nachricht und verwandte Ausgaben

beispielsweise die folgende Tabellendefinition betrachten, in der versucht wird, zwei Zeitstempelspalten mit dem Wert current_timestamp zu definieren:

erstellen Tabelle `foo` ( `ProductId` int (10) nicht signiert nicht null, `Adddate` timestamp nicht null Standard Current _Timestamp, `UpdatatedDate` TimeStamp Not NULL Standard Current Current_Timestamp auf update current_timestamp ) Engine = innoDB;

Diese Definition würde zu folgendem Fehler führen:

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;
Falsche Tabelle Definition; Es kann

nur eine Zeitstempelspalte mit

current_timestamp in standardmäßig oder auf

Aktualisieren Sie die Klausel

auf. Dieser Fehler zeigte an, dass die Tabelle Definition gegen die oben genannte Einschränkung verstieß.

Entfernung von Restriktion

Trotz der technischen Grundlage für diese Einschränkung erkannte das MySQL -Team seine Unannehmlichkeiten. Anschließend wurde in MySQL 5.6.5 (veröffentlicht am 10. April 2012) die Einschränkung aufgehoben.

Das Änderungs -Protokoll für dieses Update:

zuvor, höchstens ein Timestamp -Spalte pro Tabelle könnte automatisch initialisiert oder auf das aktuelle Datum und die aktuelle Uhrzeit aktualisiert werden. Diese Einschränkung wurde aufgehoben. Jede Zeitstempelspaltendefinition kann eine beliebige Kombination aus Standard -Current -_Timestamp und auf Aktualisierung aktueller Abklauseln haben. Darüber hinaus können diese Klauseln jetzt mit Spaltendefinitionen für DateTime verwendet werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3