2011-07-19 60 views
3

我想將「InputOutputConfigurationServerAccountId」重命名爲「CompositeKey」。我如何通過SQL來做到這一點?我的表定義的MySQL:更改唯一的密鑰名稱?

部分:

UNIQUE KEY `InputOutputConfigurationServerAccountId` (`InputOutputConfigurationServerAccountId`,`Identifier`,`TimeStampReceived`) 

該表已在生產。我正試圖改變桌子。

+1

可能的重複http://stackoverflow.com/questions/1463363/how-do-i-rename-an-index-in-mysql –

回答

7

是的,費米是對的。它會這樣做:

ALTER TABLE `test`.`UniqueKeys` 

DROP INDEX `InputOutputConfigurationServerAccountId`, 
ADD UNIQUE INDEX `CompositeKey` (`InputOutputConfigurationServerAccountId`, 
`Identifier`,`TimeStampReceived`) ; 
1

MySQL's ALTER syntax當前不支持重命名密鑰。您將不得不創建一個新的組合鍵並放棄舊的組合鍵。