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

So verwandeln Sie ein JAR-Paket in einen Docker-Container

So verwandeln Sie ein JAR-Paket in einen Docker-C...

Zusammenfassung der wichtigsten Erkenntnisse des Vue-Entwicklungshandbuchs

Inhaltsverzeichnis Überblick 0. Grundlagen von Ja...

Eine schnelle Lösung für den ersten Anmeldefehler in mysql5.7.20

Zunächst stellen wir vor, wie (1) MySQL 5.7 hat e...

Vue realisiert Web-Online-Chat-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Javascript, um den Effekt des Schließens von Anzeigen zu erzielen

Hier ist eine Fallstudie zu Ihrer Information, wi...

Beispiele für JavaScript-Entschüttelungen und Drosselung

Inhaltsverzeichnis Stabilisierung Drosselung: Ant...

react-beautiful-dnd implementiert die Drag-and-Drop-Funktion für Komponenten

Inhaltsverzeichnis 1. Installation 2.API 3. reagi...

jQuery verwendet das Canvas-Tag, um den Bestätigungscode zu zeichnen

Das <canvas>-Element ist für clientseitige ...

So komprimieren Sie Bilder effektiv mit JS

Inhaltsverzeichnis Vorwort Konvertierungsbeziehun...

Mysql-Optimierungstechniken zum Abfragen von Daten basierend auf der Zeit

Um beispielsweise die gestern neu registrierten B...

So zeigen Sie Webseiten in verschiedenen Auflösungen und Browsern richtig an

Die Schlüsselcodes lauten wie folgt: Code kopieren...