"" als NULL interpretieren

Board zum Thema mySQL
Antworten
maui muc
Beiträge: 67
Registriert: 3. Januar 2005, 11:51

"" als NULL interpretieren

Beitrag von maui muc » 5. März 2009, 22:38

Hallo liebe Gemeinde :-) ,

der Titel sagt eigentlich schon alles. Ich wüsste gerne wie ich in SQL ein "" (leerer String) als NULL-Wert interpretiere. Das würde mir nämlich etliche Kontrollstrukturen in PHP ersparen.

Gruß

Stefan

k00ni
Beiträge: 1474
Registriert: 22. Juni 2006, 16:44
Kontaktdaten:

Beitrag von k00ni » 6. März 2009, 00:37

Code: Alles auswählen

WHERE bla Is Null OR bla = '' 
Ist es das, was du meinst ?


Grüße

Benutzeravatar
Powie
Administrator
Beiträge: 7454
Registriert: 4. März 2003, 09:32
Wohnort: Ilmtal
Kontaktdaten:

NULL

Beitrag von Powie » 6. März 2009, 08:48

Wäre es nicht einfacher das Feld in der Tabelle richtig mit NULL oder NOT NULL zu definerien?
*Never say Never* - [ Dropbox | Webspace ]

maui muc
Beiträge: 67
Registriert: 3. Januar 2005, 11:51

"" als NULL interpretieren

Beitrag von maui muc » 6. März 2009, 09:26

Hallo,

besten Dank für deine Antwort.

Es ist genau der Punk, dass gewisse Felder als NOT NULL markiert sind.
Wenn ich "" in die DB schreibe entspricht das eben nicht dem NULL-Wert und der leere String wir in das Feld geschrieben. Ich will aber, dass ein "" als NULL eingetragen wird. Ist dann ein Feld mit NOT NULL markiert gibt es einen Fehler und das ist genau was ich will.

Gruß

Stefan

maui muc
Beiträge: 67
Registriert: 3. Januar 2005, 11:51

Beitrag von maui muc » 6. März 2009, 22:43

Dieser Query mach mehr oder weniger was ich will:

Code: Alles auswählen

INSERT INTO table SET name=IF("'.$name.'"="",NULL,"'.$name.'" );
Leerzeichen werden sogar eleminiert aber \t, \n, \r usw. bleiben natürlich stehen.
Ich empfinde das sehr konstruiert und auch wenig elegant. Kommt das nur mir so vor?

Ich glaub da muss doch PHP herhalten. Was nur verdammt blöd ist, dass der PHP NULL-Wert nicht in einem SQL-Query als solcher erkannt wird.

Benutzeravatar
Powie
Administrator
Beiträge: 7454
Registriert: 4. März 2003, 09:32
Wohnort: Ilmtal
Kontaktdaten:

NULLs

Beitrag von Powie » 7. März 2009, 11:14

Hmm.... jetzt ist echt die Frage was du mit dem ganzen Konstrukt erreichen willst, welshab du jetzt mit den NULL Werten solchen Aufwand betreibst. Man macht einfach keinen Insert in ein Feld wenn man nix reinschreiben will.
Was ist denn genau dein Begehr, was willst du erreichen? Das ist mir immer noch unklar.
*Never say Never* - [ Dropbox | Webspace ]

raiser
Beiträge: 476
Registriert: 20. April 2002, 15:31
Kontaktdaten:

"" als NULL interpretieren

Beitrag von raiser » 18. März 2009, 21:18

Sofern ich mich erinnern kann, gibt es eine CAST-funktion in mysql, die es dir erlaubt, in NULL zu konvertieren. Leider weiss ich den Link nicht mehr, aber google sollte da doch helfen.

lG Henrik
Wissen ist das einzige Gut, dass sich vermehrt, wenn man es teilt! (Marie von Ebner-Eschenbach)

Irren ist menschlich!

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

Benutzeravatar
Powie
Administrator
Beiträge: 7454
Registriert: 4. März 2003, 09:32
Wohnort: Ilmtal
Kontaktdaten:

"" als NULL interpretieren

Beitrag von Powie » 19. März 2009, 10:36

CAST FELD as NULL
*Never say Never* - [ Dropbox | Webspace ]

Antworten