我试图用 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'
有谁知道为什么?
我试图用 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'
有谁知道为什么?
请参阅MySQL 数据类型文档。anINT
的最大值是 2,147,483,647,恰好包含 10 位数字。
您限制的INT
类型列从-2147483648
到2147483647
。如果要输入上述范围之外的值,请使用BIGINT
.
那是因为数据类型限制。数据类型的范围INT
仅从-2147483648
到2147483647
。您可以使用数据类型BIGINT
代替。但我认为,如果您使用非常大的数字,最好的方法是使用文本数据类型(如VARCHAR
)。如果您需要数字进行计算,只需将其转换即可。