mySQL: CHECK wird nicht unterstützt



  • Hallo alle zusammen,

    in der Schule haben wir eine Aufgabe bekommen, in mySQL eine Tabelle zu erzeugen. Grundsätzlich war dies auch kein Problem:

    CREATE TABLE mieter(
    mnr DEC( 4 ) CHECK mnr BETWEEN 1000 AND 9999 ,
    anrede VARCHAR( 5 ) CHECK anrede IN ('Herr','Frau','Firma'),
    nachname VARCHAR( 20 ) NOT NULL ,
    vorname VARCHAR( 20 ) ,
    plz DEC( 5 ) CHECK SUBSTR(plz,1,5) LIKE ( 0 -9 ) ,
    ort VARCHAR( 20 ) NOT NULL ,
    mietkosten DEC( 7, 2 ) CHECK mietkosten BETWEEN -10000 AND 10000 
    );
    

    Leider werden alle Einschränkungen bei der Eingabe ignoriert (z.B. anrede kann alles mögliche sein und nicht nur Herr, Frau oder Firma), da CHECK wohl nicht unterstützt wird. Beim Erzeugen der Tabelle gab es aber auch keine Fehlermeldung.

    Gibt es außer CHECK eine Möglichkeit schon beim Füllen einer Tabelle fehlerhafte Datensätze abzulehnen ?



  • Such mal auf

    http://dev.mysql.com/doc/refman/5.1/de/create-table.html

    nach CHECK

    Auf dieser Seite findest Du dann auch sicher was Du brauchst.



  • Ich finde die Check-Bedingung auch etwas ungewöhnlich. Willste nicht sowas wie CHECK plz BETWEEN '00000' AND '99999' machen? Ist doch viel leserlicher



  • witte schrieb:

    Ich finde die Check-Bedingung auch etwas ungewöhnlich. Willste nicht sowas wie CHECK plz BETWEEN '00000' AND '99999' machen? Ist doch viel leserlicher

    Da stimme ich dir voll und ganz zu, das Buch und mein Lehrer leider nicht 😞
    Ist in der Aufgabenstellung so, wie von mir gemacht, gefordert.

    @Unix-Tom Den Link hatte ich auch schon in der Schule gefunden, bin aber noch nicht schlau draus geworden 😞 Werd's mir wohl mal in Ruhe ansehen müssen.



  • Ich hab wohl irgendwie ein Brett vorm Kopf 😞

    Hat vielleicht jemand ein Beispiel für mich, wie ich eine Tabelle mit Integritätsprüfung (Begrenzung des Eingabebereiches) unter mysql bewerkstelligen kann ?


Anmelden zum Antworten