Matthias Apsel: MYSQL: NULL != ''

Beitrag lesen

Hallo alle,

Ich lege eine Tabelle an

CREATE TABLE Dokument (
   D_Name VARCHAR(100) NOT NULL -- und noch weitere Spalten
)

mit dem Ziel leere Namen zu vermeiden. Dennoch kann ich die leere Zeichenkette in die Spalte eintragen.

SELECT * FROM `Dokument` WHERE `D_Name` = '' -- liefert Ergebnisse
SELECT * FROM `Dokument` WHERE `D_Name` IS NULL -- liefert ein leeres Resultat

Offensichtlich ist '' != NULL. Wie kann ich auf SQL-Ebene das Eintragen leerer Werte unterbinden?

Bis demnächst
Matthias

--
Pantoffeltierchen haben keine Hobbys.
¯\_(ツ)_/¯
0 34

MYSQL: NULL != ''

  1. 0
    1. 0

      Mögliche (funktionierende!) Lösung mit View

  2. -1
    1. 0

      Der Trick mit dem default

      1. 0

        Der Trick mit dem default klappt nicht

  3. 0
    1. 0
    2. -1
      1. 0
        1. 0
          1. 0
            1. 0
          2. 0
            1. 0
              1. 0
                1. 0
            2. 0
              1. 1
              2. 1
                1. 0
                  1. 1

                    2. Funktionierende Lösung: Procedur und Trigger

                    1. 0
                    2. 0
                      1. 0

                        2. Funktionierende Lösung: Procedur und Trigger ( + mehrere Tests + Regex )

                        1. 0
                          1. -1
                            1. 2
                              1. 0
                                1. 0
                        2. 0
                2. 0
                  1. 0
  4. 0