Incorrect integer value bei Autoincrement-Feldern

12. Oktober 2008 · Programmierung · andreas · Kein Kommentar

Meldet MySQL nach einem Update auf Version 5 plötzlich jede Menge “Incorrect integer value"s in den Autoincrement-Feldern, dann versucht ein Programm mit an Sicherheit grenzender Wahrscheinlichkeit gerade, eben diese Felder mit leeren Strings zu füttern.

Bis einschließlich Version 4 wurde hier der String stillschweigend durch den jeweiligen Autoincrement-Wert ersetzt, ein Verhalten, das mit Version 5 durch das standardmäßige Einschalten des “STRICT”-Modus geändert wurde.

Wer “quick and dirty” gerne wieder seine Ruhe hätte, kann einfach ein

set sql_mode = '';

absetzen. Wer stattdessen lieber auf Fehlersuche gehen will, dem sei der ‘TRADITIONAL’-Mode empfohlen, der im obigen Fall dann Fehler statt Warnungen ausspuckt.

Nächere Infos zu den verschiedenen SQL-Modi gibt es in der MySQL Dokumentation.