반응형
CREATE TABLE `test`.`adminstrate` (
`aid` INT NOT NULL AUTO_INCREMENT,
`pid` INT NULL,
`sid` INT NULL,
PRIMARY KEY (`aid`),
INDEX `pid_idx` (`pid` ASC) VISIBLE,
INDEX `sid_idx` (`sid` ASC) VISIBLE,
CONSTRAINT `pid`
FOREIGN KEY (`pid`)
REFERENCES `test`.`pro` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `sid`
FOREIGN KEY (`sid`)
REFERENCES `test`.`student` (`sid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
ERROR 1826: Duplicate foreign key constraint name 'sid'
중복된 외래키 라고 적혀있는데 외래키 설정페이지에서 외래키 키 네임을 다르게 설정해줘야한다.
예전 프로젝트 때 "fk_테이블명a_테이블명b" 으로 지정했던 것이 기억이 난다.
의미는 a테이블에 b테이블의 PK 컬럼을 외래키로 가지고 있다라는 뜻.
업로드한 사진에서는 fk 이름이 겹치지않게만 설정해주고 돌렸다.
CREATE TABLE `test`.`adminstrate` (
`aid` INT NOT NULL AUTO_INCREMENT,
`pid` INT NULL,
`sid` INT NULL,
PRIMARY KEY (`aid`),
INDEX `pid_idx` (`pid` ASC) VISIBLE,
INDEX `sid_idx` (`sid` ASC) VISIBLE,
// 제약 네임 변경 됨.
CONSTRAINT `pid_fk`
FOREIGN KEY (`pid`)
REFERENCES `test`.`pro` (`pid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
// 제약 네임 변경 됨.
CONSTRAINT `sid_fk`
FOREIGN KEY (`sid`)
REFERENCES `test`.`student` (`sid`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
정상적으로 테이블 생성된다.
반응형
'기타 > 오류' 카테고리의 다른 글
[Problem] InteliJ 테스트창 한글 깨짐 (0) | 2023.01.12 |
---|---|
[Problem] org.hibernate.id.IdentifierGenerationException (1) | 2023.01.07 |
[Problem] JPA Unknown entity (0) | 2023.01.06 |
[Problem] Java error: error while writing [클래스 이름] (0) | 2022.12.30 |
[Problem] Port 8080 was already in use 에러 (0) | 2022.05.31 |
댓글