我正在Amazon EC2實例上重新創建此數據庫(我原本是由django modelw製作的)。我使用MySQL工作臺將數據庫轉換爲模型,然後將其轉發到.sql文件中的所有CREATE語句。然而,一些外鍵的東西很奇怪地命名,我不確定我可以取出或重命名哪些部分以及哪些部分是必需的。以下是我正在談論的代碼示例。MySQL命名約定
CREATE TABLE IF NOT EXISTS `gamelydb`.`quotes` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`game_id` INT(11) NOT NULL ,
`quotetext` VARCHAR(400) NOT NULL ,
`speaker_id` INT(11) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `quotes_7b333d1e` (`game_id` ASC) ,
INDEX `quotes_7171bad0` (`speaker_id` ASC) ,
CONSTRAINT `game_id_refs_id_274910a8`
FOREIGN KEY (`game_id`)
REFERENCES `gamelydb`.`game` (`id`),
CONSTRAINT `speaker_id_refs_id`
FOREIGN KEY (`speaker_id`)
REFERENCES `gamelydb`.`person` (`id`))
ENGINE = InnoDB DEFAULT CHARACTER SET = latin1;
所以等,其中有「INDEX‘quotes_randomstuff’」或「speaker_id_refs_id」,我需要所有的隨機的東西或者我應該將其重命名爲清晰的/實用性的緣故?
MySQL對每個密鑰都要求一個唯一的名稱。如果你不提供一個,它會爲你生成一個,因此在關鍵名稱中是'垃圾'。如果你願意,你可以改變這些,但除非你經常操縱按鍵,否則這是值得的時間/精力? – 2011-06-14 14:36:54
好聽起來不錯。我不認爲內部的game_id會永遠改變,所以這可能不值得爲這種情況。謝謝 – cfrederich 2011-06-14 14:42:45
@Marc乙 - 你應該把這作爲一個答案! – T9b 2011-06-14 14:47:37