重命名唯一的密钥名称MySQL

时间:2017-03-23 02:03:05

标签: mysql

我的专栏有UNIQUE KEY ExtendedOrderID

我将此列重命名为OrderLineItemID

但是,当我转到SHOW CREATE TABLE时,它正在陈述

. . . 
UNIQUE KEY `ExtendedOrderID` (`OrderLineItemID`)
. . . ) ENGINE=InnoDB . . . 

显示我的原始列名。

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

adder

2 个答案:

答案 0 :(得分:2)

您可以使用RENAME INDEX命令中的ALTER TABLE子句重命名它(自MySQL 5.7起)。

来自documentation

  

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

ALTER TABLE my_table RENAME INDEX ExtendedOrderID TO OrderLineItemID;

答案 1 :(得分:1)

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

Access-Control-Allow-Origin