본문 바로가기
MySql

MySQL 외래 키를 만들 수 없습니다 (오류 1072).

by 베이스 공부 2021. 2. 6.
반응형

다음과 같은 테이블이 있습니다.

mysql>  SHOW COLUMNS FROM Users;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| user_id    | int(10)      | NO   | PRI | NULL    | auto_increment |
| username   | varchar(50)  | YES  |     | NULL    |                |
| password   | varchar(255) | YES  |     | NULL    |                |
| email      | varchar(255) | YES  |     | NULL    |                |
| phone      | varchar(255) | YES  |     | NULL    |                |

다음과 같은 새 테이블을 만들려고합니다.

create table jobs (id int,  FOREIGN KEY (user_id) REFERENCES Users(user_id)) ENGINE=INNODB;

하지만이 오류가 발생합니다.

오류 1072 (42000) : 'user_id'키 열이 테이블에 없습니다.

나는 아주 기본적인 것을 놓치고 있다고 확신합니다.

 

해결 방법

 

이 시도:

create table jobs (
    id int,  
    user_id int,
    FOREIGN KEY (user_id) REFERENCES Users(user_id)
) ENGINE=INNODB;

외래 키 제약 조건의 첫 번째 user_id 는 제약 조건이 정의 된 테이블을 참조하고 두 번째는 제약 조건이 가리키는 테이블을 참조합니다. 따라서 작업 테이블에도 user_id 필드가 필요합니다.

 

참조 페이지 https://stackoverflow.com/questions/11278343

 

 

반응형

댓글