Datumsfeld auf NULL zurücksetzen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datumsfeld auf NULL zurücksetzen

Re: Datumsfeld auf NULL zurücksetzen

von Matthias_74 » Di, 27.03.2012 22:42

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.

Re: Datumsfeld auf NULL zurücksetzen

von DPunch » Di, 27.03.2012 21:35

Servus
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.
Ähhm... doch. Selbstverständlich.

Re: Datumsfeld auf NULL zurücksetzen

von Matthias_74 » Di, 27.03.2012 21:18

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

Code: Alles auswählen

UPDATE testtabelle SET datumsfeld='0000-00-00 00:00:00' WHERE id=123
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).

Re: Datumsfeld auf NULL zurücksetzen

von F3K Total » Mo, 26.03.2012 23:14

Hi Reginald,
bei mir (embeddet HSQLDB) geht dies:

Code: Alles auswählen

UPDATE testtabelle SET datumsfeld = null WHERE id=123
Viel Erfolg Gruß R

Datumsfeld auf NULL zurücksetzen

von Reginald » Mo, 26.03.2012 21:59

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

Nach oben