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 )
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!