【发布时间】:2011-05-12 14:25:37
【问题描述】:
我有一些 MySQL 代码:
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 );
如果(count -1) < 0,这应该将计数设置为零。
我收到一个错误:
Error Code: 1264 Out of range value for column 'count' at row 1` instead.
这是因为 count 是一个无符号整数。如果我使用带符号的 int 它可以工作。
这是 MySQL 中的错误吗?我正在使用:mysql Ver 14.14 Distrib 5.1.46sp1, for Win32 (ia32)
【问题讨论】: