我正在尝试用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'
任何人都知道为什么?
答案 0 :(得分:1)
请参阅MySQL datatype documentation。 INT
的最大值为2,147,483,647,恰好包含10位数字。
答案 1 :(得分:0)
INT
类型列限制从-2147483648
到2147483647
。
如果您想输入超出上述范围的值,请使用BIGINT
。
答案 2 :(得分:-1)
这是因为数据类型限制。数据类型INT
的范围仅从-2147483648
到2147483647
。您可以使用数据类型BIGINT
而不是。但我认为,如果使用非常大的数字,最好的方法是使用文本数据类型(如VARCHAR
)。如果你需要数字来计算,只需转换它。