„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 > Warum erhalte ich in MySQL einen „Ungültigen Standardwert für das Feld „create_date““ und wie kann ich das beheben?

Warum erhalte ich in MySQL einen „Ungültigen Standardwert für das Feld „create_date““ und wie kann ich das beheben?

Veröffentlicht am 21.11.2024
Durchsuche:216

Why Am I Getting \

"Ungültiger Standardwert für das Feld 'create_date': Verständnis des SQL-Modus NO_ZERO_DATE"

In einer aktuellen SQL-Erstellungsanweisung tritt der Fehler auf „‚Ungültiger Standardwert für ‚create_date‘“ für die folgende SQL:

CREATE  TABLE IF NOT EXISTS `erp`.`je_menus` (
    ...
    `create_date` TIMESTAMP NOT NULL DEFAULT  '0000-00-00 00:00:00',
    ...
) 

Um diesen Fehler zu beheben, ist es wichtig, den MySQL SQL-Modus zu verstehen, insbesondere die Einstellung NO_ZERO_DATE. Diese Einstellung verbietet die Verwendung von „0000-00-00“ als gültiges Datum im strengen Modus. Dies liegt daran, dass SQL boolesche Werte als Zahlen behandelt (z. B. TRUE = 1, FALSE = 0) und Datumsangaben als Ganzzahlen speichert, die die Anzahl der Tage seit einem Referenzpunkt darstellen. Folglich steht die Verwendung von „0000-00-00“ im Konflikt mit dem für boolesche Werte verwendeten Wert „0“.

Um dieses Problem zu beheben, ziehen Sie die folgenden Optionen in Betracht:

  • Deaktivieren Sie den NO_ZERO_DATE-Modus: Fügen Sie in Ihre SQL-Anweisung die Anweisung 'SET SQL_MODE = "NO_ZERO_IN_DATE";' ein. bevor Sie die Tabelle erstellen. Dadurch wird der NO_ZERO_DATE-Modus vorübergehend deaktiviert, sodass Sie „0000-00-00“ als Standard für das Erstellungsdatum definieren können.
  • Verwenden Sie einen gültigen Standardwert: Ersetzen Sie „0000-00-00 00“. :00:00‘ mit einem gültigen Standarddatum in der SQL-Anweisung, z. B. ‚CURRENT_TIMESTAMP‘ oder NULL, je nach Wunsch Verhalten.
  • Verwenden Sie die IGNORE-Option: Wenn Sie unbedingt „0000-00-00 00:00:00“ verwenden müssen, schließen Sie die IGNORE-Option in die SQL-Anweisung ein. Dies kann jedoch zu potenziellen Dateninkonsistenzen führen und wird grundsätzlich nicht empfohlen.
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