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? Zitieren
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. Zitieren
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.... Zitieren
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. Zitieren
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..... Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.