MySQL不会让我使用数据类型INT插入超过10位数

时间:2012-06-16 02:19:00

标签: mysql

我正在尝试用11个数字填充一个字段,但MySQL不会让我使用数据类型INT插入超过10位数。我最多只能插入10位数字。这是错误:

ERROR 1264: Out of range value for column 'cpf' at row 1
SQL Statement:
UPDATE `mercado`.`cliente` SET `cpf`=12345678901 WHERE `cpf`='20'

任何人都知道为什么?

3 个答案:

答案 0 :(得分:1)

请参阅MySQL datatype documentationINT的最大值为2,147,483,647,恰好包含10位数字。

答案 1 :(得分:0)

INT类型列限制从-21474836482147483647。 如果您想输入超出上述范围的值,请使用BIGINT

答案 2 :(得分:-1)

这是因为数据类型限制。数据类型INT的范围仅从-21474836482147483647。您可以使用数据类型BIGINT而不是。但我认为,如果使用非常大的数字,最好的方法是使用文本数据类型(如VARCHAR)。如果你需要数字来计算,只需转换它。