티스토리 뷰
반응형
해당 에러는 FK 로 묶으려고 하는 테이블의 문제가 아닌 기존의 테이블의 Unique Key, Primary Key 가 설정되어 있지 않은 경우 발생하는 에러입니다.
예를 들어 다음과 같이 테이블이 2개가 존재한다고 가정해봅니다.
create table A (
keycolumn1 bigint not null auto_increament,
created_at datetime(6),
primary key (keycolumn1)
)
create table B (
keycolumn2 bigint not null auto_increment,
foreign bigint,
created_at datetime(6)
)
alter table B
add constraint fk_b_to_a
foreign key (foreign)
references A (keycolumn1)
위의 쿼리의 경우는 A 테이블이 생성된 후 B 테이블을 생성하면서 A의 Primary Key 인 keycolumn1 컬럼에 B 테이블의 foreign 컬럼을 바인딩하는 쿼리입니다. 이 경우는 정상적으로 매핑이 되지만 다음과 같은 경우는 1822 에러 코드가 발생하며 FK 제약조건 생성에 실패합니다.
create table A (
keycolumn1 bigint not null auto_increament,
created_at datetime(6)
)
create table B (
keycolumn2 bigint not null auto_increment,
foreign bigint,
created_at datetime(6)
)
alter table B
add constraint fk_b_to_a
foreign key (foreign)
references A (keycolumn1)
반응형
'Server' 카테고리의 다른 글
gradle build:compileTestJava Gradle Test Lombok 에러 날 때 (0) | 2022.04.29 |
---|---|
Maven 사용할 시 JUnit Test 스킵 설정 (1) | 2022.04.25 |
[Java] Ranking 알고리즘 (1) | 2022.04.18 |
Docker의 기본적인 개념 (0) | 2022.04.16 |
[Java] JUnit 테스트에서 LazyLoading 일때 발생하는 에러 해결 (1) | 2022.04.15 |
[Java] 컴파일 후 실행하면 나는 "jps.track.ap.dependencies" 에러 해결 (2) | 2022.04.12 |
댓글
공지사항