首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名唯一密钥名MySQL

问重命名唯一密钥名MySQL
EN

Stack Overflow用户
提问于 2017-03-23 02:03:04
回答 3查看 3.7K关注 0票数 1

我有一个专栏,其中有一个UNIQUE KEY ExtendedOrderID。

我将此列重命名为OrderLineItemID。

不过,当我去SHOW CREATE TABLE的时候,它是在声明

代码语言:javascript
复制
. . . 
UNIQUE KEY `ExtendedOrderID` (`OrderLineItemID`)
. . . ) ENGINE=InnoDB . . . 

显示我原来的列名。

现在,我不认为这会影响任何事情,因为它仍然指向新的正确命名的列OrderLineItemID,但是如何从表中完全删除ExtendedOrderID并将其重命名为正确显示

代码语言:javascript
复制
UNIQUE KEY `OrderLineItemID` (`OrderLineItemID`)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-23 02:08:33

您必须删除它,然后用新名称重新创建它:

代码语言:javascript
复制
alter table yourTableName drop index ExtendedOrderID;

create unique index OrderLineItemID on yourTableName (OrderLineItemID);
票数 2
EN

Stack Overflow用户

发布于 2017-03-23 02:11:42

您可以在RENAME INDEX命令中使用ALTER TABLE子句重命名它(因为MySQL 5.7)。

来自文档

RENAME INDEX old_index_name TO new_index_name重命名索引。这是标准SQL的MySQL扩展。表的内容保持不变。old_index_name必须是表中未被同一ALTER TABLE语句删除的现有索引的名称。new_index_name是新的索引名,它不能在应用更改后复制结果表中的索引名。两个索引名称都不能是PRIMARY。

代码语言:javascript
复制
ALTER TABLE my_table RENAME INDEX ExtendedOrderID TO OrderLineItemID;
票数 5
EN

Stack Overflow用户

发布于 2021-10-11 13:54:29

从phpmyadmin找到索引列表,并删除您的唯一索引。

​

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42965946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档