Heim > Datenbank > MySQL-Tutorial > Warum funktioniert „DEFAULT CURRENT_DATE' in MySQL nicht (und wann?)

Warum funktioniert „DEFAULT CURRENT_DATE' in MySQL nicht (und wann?)

Barbara Streisand
Freigeben: 2024-12-10 06:19:14
Original
356 Leute haben es durchsucht

Why Doesn't `DEFAULT CURRENT_DATE` Work in MySQL (and When Does It?)

CURRENT_DATE/CURDATE() als Standard-DATE-Wert-Fix

Trotz seines einfachen Erscheinungsbilds ist das Festlegen von CURRENT_DATE oder CURDATE() als Standardwert für Eine DATE-Spalte mit der folgenden Syntax kann dies möglicherweise nicht tun Funktion:

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)
Nach dem Login kopieren

Grund:

Obwohl dieser Code intuitiv erscheinen mag, schlägt er aufgrund einer MySQL-Einschränkung fehl. Laut Dokumentation schreibt die DEFAULT-Klausel einen konstanten Wert für eine Spalte vor. Funktionen oder Ausdrücke wie CURRENT_DATE sind nicht zulässig.

Lösung:

Zuvor bestand dieses Problem weiterhin für MySQL-Versionen vor 8.0.13. In MySQL 8.0.13 und höher können Sie jetzt jedoch CURRENT_DATE() oder CURDATE() als Standardwert für DATE-Spalten verwenden, sodass keine Problemumgehungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWarum funktioniert „DEFAULT CURRENT_DATE' in MySQL nicht (und wann?). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage