127.0.0.1 Geschrieben 21. September 2015 Geschrieben 21. September 2015 Ich finde den Fehler nicht: create table abc ( rate DECIMAL(5,2) NOT NULL CHECK (rate > 0)); insert into abc (rate) values (-3,5); select * from abc rate : -3,5 Warum funktioniert der check nicht?
Gooose Geschrieben 21. September 2015 Geschrieben 21. September 2015 Im Falle von postgres 9.4 funktioniert es bei mir einwandfrei. ERROR: new row for relation "abc" violates check constraint "abc_rate_check" SQL state: 23514 Detail: Failing row contains (-3.50). als Dezimaltrenner solltest du den Punkt nehmen.
127.0.0.1 Geschrieben 21. September 2015 Autor Geschrieben 21. September 2015 als Dezimaltrenner solltest du den Punkt nehmen. Punkt habe ich. das ist hier nur ein tipfehler. ich übe hier mit mysql 5.6....
Gooose Geschrieben 21. September 2015 Geschrieben 21. September 2015 google suche nach "mysql check constraint not working" -> erster link CHECK constraint in MySQL is not working - Stack Overflow scheint eine Erklärung zu bieten. Zumindest könnte man in der Richtung weiterforschen.
127.0.0.1 Geschrieben 21. September 2015 Autor Geschrieben 21. September 2015 als anfänger hab ich den fehler natürlich bei mir gesucht.... konnte ja niemand ahnen, dass check in mysql nicht oder nicht richtig implementiert ist.....
arlegermi Geschrieben 22. September 2015 Geschrieben 22. September 2015 Wenn es irgendwie geht, würde ich einem Anfänger empfehlen, nicht mit MySQL zu lernen - das, was du jetzt gefunden hast, ist nur eine der vielen Stolperfallen. Das allermeiste kann man umgehen oder entsprechend konfigurieren, aber dazu muss man eben erstmal wissen, dass es anders läuft.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden