当前位置: 首页 > 面试题库 >

当列为INT(10)时为什么不能插入10位数字

闽念
2023-03-14
问题内容

我有这个专栏 INT(10) ZEROFILL NOT NULL DEFAULT '0000000000',

但是当我插入类似的东西时9100000010,我得到了4294967295

应该在那里允许有10位数字,对不对?

如何正确执行此操作?


问题答案:

Int具有最大值范围:

INT 4   -2147483648 2147483647
        0   4294967295 (unsigned )

因此,由于溢出,您将获得最大值。使用bigint代替,它有8个字节,您会没事的。

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html#integer-
types

BIGINT  8   -9223372036854775808    9223372036854775807
          0                 18446744073709551615


 类似资料:
  • 我试图表达10的幂10,但它不起作用,所以我认为问题是数据类型的范围。 我的预期答案是10000000000,但运算结果是1410065408 有什么问题?

  • 问题内容: 在我的实际项目中,这是我修改后的小程序,偶然发生。 我不知道为什么它给输出 10 吗? 之后,我放了两个零,仍然给出输出10。 然后我将 012 更改 为0123 ,现在输出83? 谁能解释为什么? 问题答案: 比我将012更改为0123,现在输出为83? 因为它被当作八进制基数(8),因为该数字的前导数字为0。因此,它对应的十进制值为10。 012: 0123:

  • 问题内容: 为什么 初始空间 大于“ 10”的“ 2”? 我在latin1和utf8英语归类中都尝试过: 我知道它与类型有关,因为当它被强制转换时,它可以按预期工作: 这里到底发生了什么? 编辑: 以上所有操作都是在Fedora 13中使用8.4.8完成的。但是我只是在Centos 6中使用9.04进行了测试,结果相同: 数据库清单 新编辑: 这是为了进一步混淆: 问题答案: 我认为Postgre

  • 当我跑的时候 在shell中,它返回。为什么?它应该是?当我跑的时候 它返回。

  • 在Oracle 12数据库中,我的一个列是用NUMBER(10,2)定义的。目标是存储这样的数字:12345678.12。实际上,感谢OracleSQLDeveloper,我可以存储这样的数字,因此格式是匹配的。 通过我的Hibernate-Java应用程序,当我更新包含以下值的实体时,它可以工作: 但是在下面的例子中,我得到了一个错误 它看起来像一个数字(8,2)。。。 该字段位于@Embedd

  • 尊敬的开发者们。 我要问你一个问题,我觉得很难为我解决,只是因为我不知道为什么要回答,我的意思是什么??让我看看。JBoss文档中的关联没有得到全面的答案:为什么我应该使用JoinTable而不是外键,并且我不完全理解映射是如何工作的,我这样说是什么意思?我知道什么是协会是ManyToMany或ManyToOne等,他们的目的是什么,但他们如何工作和协作彼此不需要回答关于双向或单向或联合或协会,我