개발자
CREATE TABLE a_check( id INT INTEGER AUTO_INCREMEnT PRIMART KEY, name MEDIUMBLO not null, age MEDIUMINT not null [CONSTRAINT CASCADE] FOREIGN KEY(name) REFERENCES uesr_into(name) ON UPDATA ) 여기에다가 age 의 외래키를 더 추가할건데 추가할 수있나요?
답변 1
인기 답변
안녕하세요~ 불가능한것으로 알고 있습니다 age가 primary key or unique key이여야합니다 (출처:https://velog.io/@aad3365/%EA%B4%80%EA%B3%84%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A0%9C%EC%95%BD%EC%A1%B0%EA%B1%B4#%EC%99%B8%EB%9E%98%ED%82%A4foreign-key-%EC%A0%9C%EC%95%BD%EC%A1%B0%EA%B1%B4) foreign key 제약 조건도 있지만 어떤 데이터와 age를 연결 시키시려는지 궁금합니다 일반적이지 않는 설정이기 문의 드립니다 그리고... foreign key 개념은 알고 있어야하지만 실무에서는 사용되는 곳을 본적이 없습니다 사용하지 않는 이유는... 아래 링크를 참고하세요 ^^ https://juns-life.tistory.com/entry/DB-%EC%99%B8%EB%9E%98%ED%82%A4-foreign-key-%EC%82%AC%EC%9A%A9%EC%9D%84-%ED%95%98%EB%8A%94%EA%B2%8C-%EC%A2%8B%EC%9D%84%EA%B9%8C
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 09월 19일
네, MySQL에서는 여러 외래키를 추가할 수 있습니다. 아래의 SQL 구문은 `age` 필드에 `user_info(age)` 테이블을 참조하는 외래 키를 추가하는 방법을 보여줍니다. ```sql CREATE TABLE a_check( id INT AUTO_INCREMENT PRIMARY KEY, name MEDIUMBLOB NOT NULL, age MEDIUMINT NOT NULL, CONSTRAINT fk_name FOREIGN KEY (name) REFERENCES user_info (name) ON UPDATE CASCADE, CONSTRAINT fk_age FOREIGN KEY (age) REFERENCES user_info (age) ON UPDATE CASCADE ); ``` 위의 코드에서 `fk_name`과 `fk_age`는 외래 키 제약 조건의 이름입니다. 이 이름은 선택 사항일 수 있지만, 외래키에 이름을 부여하면 추후에 제약 조건을 쉽게 관리할 수 있습니다. 이 예제에서는 두 개의 외래 키가 모두 ON UPDATE CASCADE 옵션을 가지고 있어서, 참조되는 테이블(`user_info`)의 관련 column(`name`, `age`)이 변경되면, 같은 값을 가진 이 테이블(`a_check`)의 column도 자동으로 업데이트됩니다. 하지만 주의해야 할 점은, 여기서 age와 name 필드가 참조하는 user_info 테이블의 age와 name 역시 각각 유니크(unique)해야 한다는 것입니다. 그렇지 않으면 외래키 설정이 제대로 이루어지지 않을 것입니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!