아마존 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에는 각 키마다 고유 한 이름이 필요합니다. 만약 당신이 하나를 제공하지 않으면, 그것은 당신을 위해, 따라서 열쇠 이름에 '쓰레기'를 생성합니다. 원할 경우 변경할 수 있지만 키를 자주 조작하지 않는 한 시간/노력의 가치가 있습니까? –
좋은 소리가납니다. 내부 game_id가 변경 될 것으로 생각하지 않습니다. 따라서이 경우에는 가치가 없을 것입니다. 감사합니다 – cfrederich
@ 마르크 B - 당신은 대답으로 넣어 줘야 겠어! – T9b