我有一个专栏,其中有一个UNIQUE KEY ExtendedOrderID。
我将此列重命名为OrderLineItemID。
不过,当我去SHOW CREATE TABLE的时候,它是在声明
. . .
UNIQUE KEY `ExtendedOrderID` (`OrderLineItemID`)
. . . ) ENGINE=InnoDB . . . 显示我原来的列名。
现在,我不认为这会影响任何事情,因为它仍然指向新的正确命名的列OrderLineItemID,但是如何从表中完全删除ExtendedOrderID并将其重命名为正确显示
UNIQUE KEY `OrderLineItemID` (`OrderLineItemID`)发布于 2017-03-23 02:08:33
您必须删除它,然后用新名称重新创建它:
alter table yourTableName drop index ExtendedOrderID;
create unique index OrderLineItemID on yourTableName (OrderLineItemID);发布于 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。
ALTER TABLE my_table RENAME INDEX ExtendedOrderID TO OrderLineItemID;发布于 2021-10-11 13:54:29
从phpmyadmin找到索引列表,并删除您的唯一索引。

https://stackoverflow.com/questions/42965946
复制相似问题