이라는 기본 키와 두 개의 varchars : title
및 genre
필드가있는 movies
이라는 테이블이 있습니다.외래 키 추가시 오류
int 필드 id
을 기본 키로 사용하고 desription
varchar를 사용하여 genres
이라는 새 테이블을 만들었습니다. 나는 genre
을 내 movies
테이블에서 변경하여 장르를 참조하는 외래 키를 만들 수있었습니다.
그러나 Mysql Workbench에서는 외래 키를 만들 때 오류가 발생한다고 말합니다.
다음은 문의 :
ALTER TABLE `managemovies`.`movies`
ADD CONSTRAINT `genre_reference`
FOREIGN KEY (`genre`)
REFERENCES `managemovies`.`genres` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
, ADD INDEX `genre_reference_idx` (`genero` ASC) ;
오류 :
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`managemovies`.`#sql-3ba_2b`, CONSTRAINT `genre_reference` FOREIGN KEY (`genre`) REFERENCES `genres` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
SQL 문 : [... 위의 것보다 같은 문 ...] ERROR : 오류 장애 복구 스크립트를 실행. 세부 사항은 다음과 같습니다.
ERROR 1046: No database selected
SQL Statement:
CREATE TABLE `movies` [...]
[... the errors above repeated again ...]
자녀 테이블에 데이터가있을 수 있습니다 도움이되기를 바랍니다. 자식 테이블에서 데이터를 삭제 한 다음 외래 키를 추가하십시오. –