Veröffentlicht 21. September 20159 j 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?
21. September 20159 j 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.
21. September 20159 j Autor als Dezimaltrenner solltest du den Punkt nehmen. Punkt habe ich. das ist hier nur ein tipfehler. ich übe hier mit mysql 5.6....
21. September 20159 j 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.
21. September 20159 j Autor 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.....
22. September 20159 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.