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

Zusammenfassung der MySQL-Datenbanknutzungsspezifikationen

Einführung: Ich glaube, dass jeder einige Dokumen...

Installationsschritte von MySQL unter Linux

1. Laden Sie die MySQL-Tar-Datei herunter: https:...

Informationen zur Auswahl des Uhrzeit-, Datums- und Zeichenfolgentyps in MySQL

Inhaltsverzeichnis 1. Verwendung von DATETIME und...

So schreiben Sie DROP TABLE in verschiedene Datenbanken

So schreiben Sie DROP TABLE in verschiedene Daten...

Einige „Fallstricke“ beim Upgrade der MySQL-Datenbank

Bei kommerziellen Datenbanken hat die Datenbankak...

Zusammenfassung der Linux-Befehlsmethoden zum Anzeigen verwendeter Befehle

Im System werden viele Befehle verwendet. Wie kön...

Beispielcode zum Konvertieren von Videos mit der ffmpeg-Befehlszeile

Bevor Sie mit dem Haupttext dieses Artikels begin...

jQuery benutzerdefinierter Lupeneffekt

In diesem Artikelbeispiel wird der spezifische Co...

So installieren Sie den Kibana-Tokenizer im Docker-Container

Schritt: 1. Erstellen Sie eine neue Datei docker-...

Flammenanimation mit CSS3 umgesetzt

Ergebnisse erzielen Implementierungscode html <...

So stellen Sie HBase mit Docker bereit

Standalone-HBase, lassen Sie uns zuerst darüber s...

Zusammenfassung zum horizontal scrollenden Website-Design

Horizontales Scrollen ist nicht in allen Situation...