2017-06-22 472 views
0

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

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

+0

只是将mySQL中的dataType更改为BIGINT – Kasnady

+0

是的,它仍然需要3-4小时。 – Maddy25

+0

你别无选择,只能将其更改为小数点以上值 – Kasnady

回答

1

一个解决办法是:

  • ALTER TABLE original_table到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并使用该视图进行查询。

这很快,VIEW取决于你的mysql版本可能会妨碍性能(5.7应该没问题)。

0

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

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

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