如何更新MySql数据库bigint字段?
目前我们的数据库有一个bigint(196605)字段,它会产生错误。我很确定字段限制是250,即bigint(250),它解释了生成的错误。
字段本身仅存储3位数的整数值,例如100,所以我不确定为什么它甚至是bigint。在任何情况下,我都需要修复字段而不会丢失任何数据。
非常感谢任何帮助!
答案 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并且无法检查它是否有效)