bigint int smallint tinyint 我是个马大哈
最近在做项目,我们这个团队进入开发的时候之前已开发了一点的,所以数据库就从服务器上当了一个下来。做完了一期后要把我们对数据库的修改和代码更新到服务器上。因为在开发的时候没有说清楚之前的开发跟现在的开发的衔接,所以数据库没有更新完整的更新上去。
更新到服务器的时候原本没有报错的代码现在报错了,进过调试发现了,原来数据库的字段是int类型的,更新到服务器上的数据库时变成了bitint类型了。代码里面原本是用int32是没有错的,现在跟数据库对不上了,所以就报错了。
我一直都是个马大哈,从没有想过这些小小的改动就会引发错误,总以为这些小东西肯定不会有问题的,现在算是知道了:弄软件不能太马大哈了,要细心细心细心。弄清楚每个知识点的小区别。
找到错误之后也在网上看了一下bigint与int的区别,可能是技术还没到那个层次,反正不是很理解但是大概还是理解了点:
bigint : 8 个字节
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
int : 4 个字节
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer 。
smallint: 2 个字节
从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint : 1 字节
从 0 到 255 的整型数据。存储大小为 1 字节。