热点:

    tinyint导致表值上限127

      [   原创  ]   作者:
    收藏文章 暂无评论

    网站开发测试时,某字段值始终为127,原因究竟为何?请看下文详解。

    1、 先查看数据库表结构。

    2、 刚接触数据库的我,尚未察觉这张表设计上的缺陷。

    3、 在测试阶段发现,roomno字段的值频繁为127。该字段本应存储宿舍编号,起初怀疑是测试时误输入所致。随后特意避开输入127进行验证,但数据库中仍自动写入127,说明问题并非源于手动操作,可能存在默认赋值或逻辑处理上的异常。

    4、 最直接的方法是打印提交的数据进行调试。

    5、 数据提交无误,为何数据库中却始终存为127?

    6、 查看数据库最近执行的SQL语句。

    7、 此时可以确定,从用户提交到数据存入数据库的过程无误,那么问题很可能出在数据库的设计环节,正是设计上的缺陷引发了当前的异常情况。

    8、 查看数据库结构后,怀疑是tinyint类型的问题,而127对程序员而言确实是个敏感数值。

    9、 查阅相关文档和资料得知,tinyint的取值范围通常为-128到127,无符号时为0到255。虽然可写作tinyint(3),但其实际存储空间仅为1字节,最多表示256个不同数值。一旦插入的数值超出该类型上限(有符号为127,无符号为255),系统将自动存入对应的最大允许值,不会报错但会导致数据失真。

    10、 根据实际需求,应将字段类型由tinyint调整为smallint(3)等更合适的类型。

    soft.zol.com.cn true https://soft.zol.com.cn/1210/12100137.html report 1040 网站开发测试时,某字段值始终为127,原因究竟为何?请看下文详解。 1、 先查看数据库表结构。 2、 刚接触数据库的我,尚未察觉这张表设计上的缺陷。 3、 在测试阶段发现,roomno字段的值频繁为127。该字段本应存储宿舍编号,起初怀疑是测试时误输入所致。随后特意避开...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    SIGuardian Lite 1.60 Build 127

    更新时间:2008年01月29日

    用户评分:0 | 0人点评

    软件类型:共享软件

    软件语言:简体中文

    SIGuardian Lite 1.60 Build 127
    • 更新时间:2008年01月29日
    • 软件大小:0.9MB
    • 软件分类:硬件工具
    • 语言种类:简体中文
    • 软件评级:0 人点评