MySQL在插入时更改数字

时间:2013-12-28 16:20:11

标签: php mysql

我有问题。我的MySQL DB会自动更改我输入的数字。例如我的命令

INSERT INTO `some_table` VALUES (`66477096289`)

并且MySQL将其保存为2147483647

字段为int(16)。我尝试使用phpMyAdmin更新它,我得到了相同的结果......

5 个答案:

答案 0 :(得分:2)

您需要将值存储为bigintdecimal,而不是常规整数。

您要保存的号码是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”,这将处理您的号码。

Int value changes when insert into mysql database - php

答案 4 :(得分:0)

使用bigint,存储的数字超出范围