【发布时间】:2020-12-17 19:03:08
【问题描述】:
是否有必要在更改特定列以更改默认值时删除并重新创建涉及特定列的索引?我的专栏看起来像SubNum varchar(8) NOT NULL DEFAULT '',我想将其更改为SubNum varchar(8) NOT NULL。我的相关索引如下:
KEY `Docs1` (`First`,`SubNum`,`DocNum`),
KEY `Docs2` (`SubNum`,`DocNum`),
我使用的是 MySQL 5.5.49 版本,表是MyIsam。
【问题讨论】:
-
not null default null不是一个有效的设置,首先。 -
您认为为什么需要重新创建索引?更改字段的默认值不会更改现有字段的任何值。
-
@Luuk 我遇到的信息说在列数据类型更改后需要重建索引(以及其他人说没有必要),但我想知道这是否需要要完成。我本以为不会,但认为值得提出这个问题。
-
@GMB 抱歉,我只是想放弃
default '' -
DEFAULT ''与VARCHAR(8)的数据类型关系不大。如果你更改了8,那么你需要重建索引。