0

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

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

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

非常感激任何的帮助!

4

3 回答 3

1

这是一个常见的混淆...BIGINT类型具有固定大小存储在8B上,因此和) 之间的唯一区别是分别显示 1 位和 20 位的位数。BIGINT(1)BIGINT(20

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

我建议你先阅读这篇文章。

于 2013-05-21T08:11:51.230 回答
0

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

于 2013-05-21T08:13:20.317 回答
0

在您做某事之前,将您的数据导出(备份)到一个 SQL 文件(为您的数据自动生成的插入)以在您更改表之前保存您的数据,并且您知道如果您的数据丢失,您可以导入它。

如果要更改列,则必须像这样更新表:

ALTER TABLE tableName CHANGE columnName newColumnName BIGINT(250);

我认为这应该有效。

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

于 2013-05-21T08:14:02.320 回答