Ich habe etwas MySQL-Code:
CREATE TABLE test_table (
id int(11) NOT NULL AUTO_INCREMENT,
count int(10) unsigned DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
insert into test_table (count) values (1);
update test_table set count = IF( count -1 < 0, 0 , count -1 );
update test_table set count = IF( count -1 < 0, 0 , count -1 );
Dies sollte `count` auf Null setzen, wenn (count -1) < 0
.
Ich erhalte einen Fehler:
Fehlercode: 1264 für die Spalte 'count' in Zeile 1 ein Wert außerhalb des Bereichs.
Dies liegt daran, dass `count` ein unsigned int ist. Wenn ich einen signed int benutze, funktioniert es.
Ist das ein Bug in MySQL? Ich benutze: mysql Ver 14.14 Distrib 5.1.46sp1, für Win32 (ia32)