So verwenden Sie CURRENT_TIMESTAMP in MySQL

So verwenden Sie CURRENT_TIMESTAMP in MySQL

Verwendung von CURRENT_TIMESTAMP

Wie wir alle wissen, kann der Datumstyp von MySQL CURRENT_TIMESTAMP verwenden, um den Standardwert anzugeben. Dies hängt jedoch von der MySQL-Version und dem spezifischen Typ des Datums ab. Nur Versionen nach 5.6 können CURRENT_TIMESTAMP als Standardwert von DATETIME verwenden.

Zum Beispiel:

ALTER TABLE t_user ADD update_time DATETIME DEFAULT CURRENT_TIMESTAMP

In Versionen vor 5.6 tritt der folgende Fehler auf, wenn CURRENT_TIMESTAMP als Standardwert verwendet wird

[Err] 1067 - Ungültiger Standardwert für „update_time“

Vor MySQL 5.6.5 gilt DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP nur für TIMESTAMP, und höchstens ein TIMESTAMP-Feld in einer Tabelle darf diese Funktion verwenden. Ab MySQL 5.6.5 gilt DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP sowohl für TIMESTAMP- als auch für DATETIME-Spalten und für eine unbegrenzte Anzahl von Spalten.

Zeitstempel mit CURRENT_TIMESTAMP meldet einen Fehler

Das Projekt weist den folgenden Fehler auf:

Fehler beim Aktualisieren der Datenbank.

Ursache: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Spalte „createTime“ kann nicht null sein

Das Datenmodell sieht wie folgt aus:

  /* Erstellungszeit darf nicht leer sein */
  createTime Zeitstempel NICHT NULL DEFAULT CURRENT_TIMESTAMP KOMMENTAR 'Erstellungszeit',
  /* Aktualisierungszeit darf nicht leer sein*/
  updateTime Zeitstempel NICHT NULL DEFAULT CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP KOMMENTAR 'Aktualisierungszeit',

Nach einer Reihe von Fehlerbehebungen wurde festgestellt, dass das Problem durch die globale Variable „explicit_defaults_for_timestamp“ in verschiedenen Versionen der MySQL-Datenbank verursacht wurde.

- Zeigen Sie den Standardwert von „explicit_defaults_for_timestamp“ an. SHOW GLOBAL VARIABLES LIKE „explicit_defaults_for_timestamp“; 

-- Ändern Sie den Standardwert von explizite_Standards_for_timestamp SET @@global.explicit_defaults_for_timestamp=OFF;

Wenn der Parameterwert „ON“ ist:

Bildbeschreibung hier einfügen

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der TIMESTAMP-Verwendung in MySQL
  • Analyse der MySql CURRENT_TIMESTAMP-Funktion anhand eines Beispiels
  • Interpretation der Methode zum Festlegen mehrerer Zeitstempel in MySQL
  • MySQL-Datentyp TIMESTAMP

<<:  Detaillierte Erläuterung der Verwendung von var () von CSS3 zum Ändern von SCSS-Variablenwerten zur Laufzeit

>>:  Beispielcode zur Implementierung einer schwebenden Seitenbox basierend auf JS

Artikel empfehlen

Verwenden Sie das Firebug-Tool, um die Seite auf dem iPad zu debuggen

Wie debuggt man eine Seite auf dem iPad? Wenn Sie ...

Beispiel für eine HTTPS-Konfigurationsmethode für den Nginx-Server

Linux: Linux-Version 3.10.0-123.9.3.el7.x86_64 Ng...

Detaillierte Erklärung zur Verwendung von MySQL mysqldump

1. Einführung in mysqldump mysqldump ist ein logi...

Was ist die Datei mysql-bin.000001 in MySQL? Kann sie gelöscht werden?

Nachdem ich MySQL über Ports installiert hatte, s...

Native JavaScript-Karussell-Implementierungsmethode

In diesem Artikel wird die Implementierungsmethod...

Zusammenfassung der MySQL InnoDB-Sperren

Inhaltsverzeichnis 1. Gemeinsam genutzte und exkl...

JS Canvas-Oberfläche und Animationseffekte

Inhaltsverzeichnis Überblick Canvas API: Grafiken...

Detaillierte Erklärung zur Verbindung von Java mit Mysql Version 8.0.18

In Bezug auf die Verbindungsmethode zwischen Java...

Mehrere magische Verwendungen des JS ES6 Spread-Operators

Inhaltsverzeichnis 1. Attribute hinzufügen 2. Meh...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...