我有问题。我的MySQL DB会自动更改我输入的数字。例如我的命令
INSERT INTO `some_table` VALUES (`66477096289`)
并且MySQL将其保存为2147483647
字段为int(16)
。我尝试使用phpMyAdmin更新它,我得到了相同的结果......
答案 0 :(得分:2)
您需要将值存储为bigint
或decimal
,而不是常规整数。
您要保存的号码是66,477,096,289。它大于有符号或无符号的最大值。
答案 1 :(得分:0)
这叫做溢出。您试图插入比列可以容纳的更大的数字。尝试使用更大的int类型(即bigint)
答案 2 :(得分:0)
类型INT
只能包含最多24147483647的数字。当您尝试插入更大的值时,MySQL会使用此最大数字。
如果您想存储该号码,请使用更大的类型,例如BIGINT
。另请参阅MySQL Reference: Integer Types。
答案 3 :(得分:0)
MySQL int是一个带符号的32位整数。您正在插入一个远远超出限制的数字,因此您将看到最大可能的整数,即2147483647。
将64位数据类型的数据类型更改为“bigint”,这将处理您的号码。
答案 4 :(得分:0)
使用bigint,存储的数字超出范围