是否可以将MySQL唯一索引更改为非唯一索引而不重新创建它

ckocjqey  于 2023-04-28  发布在  Mysql
关注(0)|答案(2)|浏览(353)

是否可以在不重新创建的情况下将MySQL唯一索引更改为非唯一索引(DROPCREATE)?
我使用的是MySQL版本8。0.19.

btqmn9zl

btqmn9zl1#

不,在MySQL中,如果不删除并重新创建索引,就不可能更改索引的定义。没有ALTER INDEX语句。
更正:您可以重命名索引而无需重新构建它。可以使索引可见/不可见,而无需重新生成索引。

ogq8wdun

ogq8wdun2#

如果你的意思是你想避免删除唯一索引,那么请阅读Bill Karwin的答案,它正确地描述了这是不可能的。
但是,如果你想在不删除和重新创建表的情况下重新创建索引,那么这当然是可能的,比如:

DROP INDEX indexname on tablename;

然后

CREATE UNIQUE INDEX indexname ON tablename(columnname);

相关问题