MySQL更新bigint字段

时间:2013-05-21 08:08:48

标签: mysql sql database bigint

如何更新MySql数据库bigint字段?

目前我们的数据库有一个bigint(196605)字段,它会产生错误。我很确定字段限制是250,即bigint(250),它解释了生成的错误。

字段本身仅存储3位数的整数值,例如100,所以我不确定为什么它甚至是bigint。在任何情况下,我都需要修复字段而不会丢失任何数据。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

这是常见的混淆... BIGINT类型固定大小存储在 8B 上,因此差异BIGINT(1)BIGINT(20之间的数字是分别显示1位数字或20位数字的位数。

如果您只存储3位数字,并且您认为不需要更多数字,则可以使用仅{strong> 2B 而不是 8B SMALLINT UNSIGNED类型>这样可以节省大量空间,性能也会提高。

我建议您先阅读this

答案 1 :(得分:0)

可能在创建数据库字段时,设置其长度,如果我们没有设置任何长度,那么我认为它默认为11。但是如果我们通过则它将指定的值作为长度。

答案 2 :(得分:0)

在您执行某些操作之前,请将数据导出(备份)到SQL文件(数据的自动生成插入)以在更改表之前保存数据,并且您知道如果数据丢失,则可以导入它。 / p>

如果要更改列,则必须更新表格,如下所示:

ALTER TABLE tableName CHANGE columnName newColumnName BIGINT(250);

我认为这应该有用。

未经过测试(我使用MS SQL Server 2008并且无法检查它是否有效)