Heim > Datenbank > MySQL-Tutorial > Warum kann ich CURRENT_DATE/CURDATE() nicht als Standardwert für DATE-Spalten in MySQL verwenden?

Warum kann ich CURRENT_DATE/CURDATE() nicht als Standardwert für DATE-Spalten in MySQL verwenden?

Linda Hamilton
Freigeben: 2024-12-04 21:18:12
Original
194 Leute haben es durchsucht

Why Can't I Use CURRENT_DATE/CURDATE() as a Default Value for DATE Columns in MySQL?

CURRENT_DATE/CURDATE() im DEFAULT-Wert für DATE-Spalten: Funktionalität und Einschränkungen

In MySQL kann es vorkommen, dass Sie auf eine Situation stoßen, in der Sie dies wünschen um einen Standardwert für eine DATE-Spalte mithilfe der Funktion CURRENT_DATE oder CURDATE() festzulegen. Allerdings scheitert dieser Ansatz oft und wirft die Frage auf, warum er nicht unterstützt wird.

Die Antwort liegt in der Beschränkung von MySQL auf Standardwerte. Laut MySQL-Dokumentation:

The DEFAULT clause specifies a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression.
Nach dem Login kopieren

Daher erlaubt MySQL nicht die Verwendung von CURRENT_DATE oder CURDATE() als Standardwert für eine DATE-Spalte, da diese Funktionen das aktuelle Datum dynamisch zurückgeben. Stattdessen müssen Standardwerte statische Konstanten sein.

In MySQL 8.0.13 und höher wurde diese Einschränkung jedoch entfernt. Sie können jetzt CURRENT_DATE oder CURDATE() als Standardwert für eine DATE-Spalte verwenden.

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

Diese Änderung ermöglicht die Zuweisung des aktuellen Datums als Standardwert für DATE-Spalten, was mehr Flexibilität bietet Datenverwaltung.

Das obige ist der detaillierte Inhalt vonWarum kann ich CURRENT_DATE/CURDATE() nicht als Standardwert für DATE-Spalten in MySQL verwenden?. 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