如何更新 MySql 数据库 bigint 字段?
目前我们的数据库有一个生成错误的 bigint(196605) 字段。我很确定字段限制为 250,即 bigint(250),它解释了生成的错误。
该字段本身仅存储 3 位整数值,例如 100,所以我不确定为什么它甚至是 bigint。无论如何,我需要在不丢失任何数据的情况下修复该字段。
非常感激任何的帮助!
这是一个常见的混淆...BIGINT
类型具有固定大小存储在8B上,因此和) 之间的唯一区别是分别显示 1 位和 20 位的位数。BIGINT(1)
BIGINT(20
如果您只存储 3 位数字,并且您认为不需要更多,则可以使用SMALLINT UNSIGNED
仅占用2B而不是8B的类型,这样您将节省大量空间并提高性能。
我建议你先阅读这篇文章。
可能是在创建数据库字段时,您设置了它的长度,如果我们不设置任何长度,那么我认为它默认为 11。但是如果我们通过,那么它将采用指定的值作为长度。
在您做某事之前,将您的数据导出(备份)到一个 SQL 文件(为您的数据自动生成的插入)以在您更改表之前保存您的数据,并且您知道如果您的数据丢失,您可以导入它。
如果要更改列,则必须像这样更新表:
ALTER TABLE tableName CHANGE columnName newColumnName BIGINT(250);
我认为这应该有效。
未测试(我使用 MS SQL Server 2008,无法检查它是否有效)