내가 외래 키 contraint 추가하려고이 오류 받고 있어요 :오류 만들 때 외래 키
#1005 - Can't create table './testtable/#sql-595_146.frm' (errno: 150)
내가 ON 프로젝트 ID를 공유하는 모든 이미지 CASCADE 삭제 할 필요를 때 프로젝트 삭제됩니다. 지금
CREATE TABLE IF NOT EXISTS `images` (
`image_id` mediumint(8) unsigned NOT NULL auto_increment,
`project_id` smallint(6) NOT NULL,
PRIMARY KEY (`image_id`),
KEY `project_id_ix` (`project_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=28 ;
CREATE TABLE IF NOT EXISTS `projects` (
`project_id` smallint(5) unsigned NOT NULL auto_increment,
PRIMARY KEY (`project_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
을 내가 제약 조건을 추가하려면 아래 쿼리를 실행하면 쿼리가 위의 게시 된 오류와 함께 실패 : 다음과 같이 내 단순화 된 테이블 구조입니다. 아무도 도와 줄 수 있습니까?
ALTER TABLE `images` ADD CONSTRAINT `project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `projects` (`project_id`) ON DELETE CASCADE;
감사합니다.
MySQL이 CREATE TABLE 문에서 오류 번호 1005를보고 오류 메시지가 오류 150을 참조하면 외래 키 제약 조건이 올바르게 구성되지 않아 테이블을 만들지 못했습니다. http://dev.mysql.com/doc/ refman/5.1/ko/innodb-foreign-key-constraints.html –
^yea man, 나는 오류가 무엇을 말하는지 압니다. 내가 알 수없는 것은 나의 실수가 어디에 있는지입니다. 그래서 내가 도움을 청하는거야. – user239237