MySQL数据类型" int"超过限制

时间:2017-06-22 04:35:02

标签: mysql database

使用MySQL作为数据库。我们有一个表格,其中列是" int"数据类型。它超过了int类型的限制,即4294967295。 是否有任何解决方案可以获得更多的条目/值。 我们不希望停机超过一个小时。

已经考虑将其更改为Bigint类型,但重点是缩短时间。

2 个答案:

答案 0 :(得分:1)

解决方案可能是:

  • ALTER TABLE original_table to original_table_old
  • CREATE TABLE具有与当前表相同的布局,但后来使用新数据类型(BIGINT)作为违规列(让我们称之为original_table_new)
  • CREATE VIEW original_table AS SELECT * FROM original_table_old UNION SELECT * FROM original_table_new并将该视图用于您的查询。

这很快,根据你的mysql版本,VIEW可能会妨碍性能(5.7应该可以)。

答案 1 :(得分:0)

当您的值很长时,您不能使用INT类型。您需要更改相关类型。在StackOverflow中有关于您的问题的更多解释

  

如果我在MySQL中存储int(255),那么MAX编号是多少? Click here

     

mysql中int(11)列的大小(以字节为单位)是多少?Click here