Hallo,
ich habe eine mysql-Datenbank und habe ein Datumsfeld (DATETIME), wo ein Datum drinsteht, das ich herauslöschen möchte, also ich möchte das Feld auf seinen ursprünglichen Wert zurücksetzen, als das Feld nie befüllt war.
UPDATE testtabelle SET datumsfeld='' WHERE id=123 (also zweimal hochkomma) funktioniert nicht.
Wäre das hier korrekt?
UPDATE testtabelle SET datumsfeld='0000-00-00 00:00:00' WHERE id=123
Scheint irgendwie zu funktionieren, aber ich bin mir nicht sicher.
Danke und Grüße
R
Datumsfeld auf NULL zurücksetzen
Moderator: Moderatoren
Re: Datumsfeld auf NULL zurücksetzen
Hi Reginald,
bei mir (embeddet HSQLDB) geht dies:
Viel Erfolg Gruß R
bei mir (embeddet HSQLDB) geht dies:
Code: Alles auswählen
UPDATE testtabelle SET datumsfeld = null WHERE id=123
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 2
- Registriert: Di, 27.03.2012 20:35
Re: Datumsfeld auf NULL zurücksetzen
In MySQL sind die Datentypen DATE, TIME, YEAR und DATETIME nicht "nullbar". NULL sowie Leerstring ('') als Wert sind somit nicht zulässig für diese Datentypen. Als Null- bzw. Vorgabewert wird bei DATETIME gemeinhin "0000-00-00 00:00:00" verwendet - bei DATE-, YEAR- und TIME-Feldern sinngemäß nur der Datums-, der Jahr- oder Zeitbestandteil. Lange Rede kurzer Sinn: bei MySQL ist richtig
In manchen Fällen kann es auch sinnvoll sein, als Vorgabewert ein besonders hohen oder niedrigen Wert zu verwenden, So z.B. wenn die Gültigkeit eines Datensatzes durch von/bis-Angaben gesteuert werden soll (bspw. Preis 1 gültig von 01.01.1900 bis 26.03.2012, Preis 2 gültig von 27.03.2012 bis 31.03.2012, Preis 3 gültig von 01.04.2012 bis 31.12.2500).
Code: Alles auswählen
UPDATE testtabelle SET datumsfeld='0000-00-00 00:00:00' WHERE id=123
Re: Datumsfeld auf NULL zurücksetzen
Servus
Ähhm... doch. Selbstverständlich.Matthias_74 hat geschrieben:In MySQL sind die Datentypen DATE, TIME, YEAR und DATETIME nicht "nullbar". NULL sowie Leerstring ('') als Wert sind somit nicht zulässig für diese Datentypen.
-
- Beiträge: 2
- Registriert: Di, 27.03.2012 20:35
Re: Datumsfeld auf NULL zurücksetzen
Ups, mein Fehler! DPunch hat selbstverständlich recht: NULL ist durchaus bei MySQL für DATE, TIME, DATETIME und YEAR zulässig, vorausgesetzt man setzt kein NOT NULL-Attribut in der Felddefinition (keine Ahnung, wie ich auf diesen Quatsch in meinem vorhergehenden Posting kam). Der Leerstring allein ist's, was mit einem Error quittiert wird.