今天做程序开发的时候,程度基本上进度都完成了,但是在做各方面测试的时候,结果Mysql插入数据这里出错误了,我用:
printf("Error message: %s\n", $mysqli->error);
结果也没任何的提示,很尴尬。
当我再用phpMyAdmin在里面直接插入数据的时候,结果报错如下:
#1264 - Out of range value for column 'id' at row 1
中文翻译
#1264-第1行的列'id'超出范围值
原因:
最初看到这个错误,就感觉挺搞笑的,我今天下午才刚测试,也没多长时间,怎么可能就ID就超出范围值了,我一般id类型都是设置为int或bigint这两种,怎么可能会发生这种情况呢?
本着实事求是的原则,还是去看了一下,结果不知道谁上phpMyAdmin了,把它的类型的改为了tinyint。
TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4
很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
解决方法
知道了原因,解决方法也很简单,其实我上面已经说过了。
只需要把id类型都是设置为INT或BIGINT这两种任意中的一种即可!
INT[(M)] [UNSIGNED] [ZEROFILL] M默认为11
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。