커뮤니티 생성후 회원가입 하였을 때 외래키에 대한 질문입니다. 0 1 2,160

by 일요일날오후 [MySQL] 테이블구조 mysql [2014.10.19 14:16:22]


안녕하세요 이번에 입문하게된 웹프로그래머 입니다.

다름이 아니고 제가 커뮤니티 기능을 맡아서 개발을 하고 있는데

커뮤니티 고유값이 auto_increment일때 다른테이블에 외래키로 적용할려면 어떻게 해야 하는지 궁금합니다.

데이터베이스는 mysql로 개발하고 있습니다.

가령 예를들어 커뮤니티 테이블이 아래와 같이 있고
create table comunity (
uid MEDIUMINT NOT NULL AUTO_INCREMENT
Mngr varchar(255) NOT NULL,
Nm varchar(255) NOT NULL,
PRIMARY KEY (uid)
)

아래 테이블은 회원 정보 테이블 입니다.
CREATE TABLE member (
studyUid MEDIUMINT NOT NULL AUTO_INCREMENT,
FOREIGN KEY (uid) REFERENCES doy_study(uid) ON UPDATE CASCADE ON DELETE CASCADE
)
이렇게 생성하면 상관이 없을까요?

그리고 회원가입을 했을 때 해당 커뮤니티 고유값(uid)을 넣어야 하는데 php로 소스를 짜면

어떻게 짜야 할까요? 선배님들 많은 답변 부탁드리겠습니다!!

by 아발란체 [2014.10.20 10:48:48]

스크립트 돌려보셨나요? 위 스크립트만 보면 오류 발생 할 수 있는 부분이 많이 보입니다.

참조키 만들 때 member에 uid라는 속성이 없고요, doy_study라는 테이블은 위 스크립트에 없는 테이블입니다. 또한 member 테이블에서 auto_increment를 쓰려면 기본키로 설정되어 있어야 합니다.

 

커뮤니터 고유값은 자동으로 집어 넣을 수 없겠죠, 그 커뮤니티 고유 값으로 프로그램에서 들고 있다가 회원 가입 할 때 같이 넣어줘야 할 것 같습니다.

 

그리고 질문을 단계적으로 하나씩 풀이하시는 것이 좋을 것 같습니다.

질문이 복합적이면 답을 주시는 분들이 없을 수 있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입