테이블 primary key, foreign key, index질문입니다 채택완료

CREATE TABLE IF NOT EXISTS a_1
      ( memberSeq int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        id varchar(20) NOT NULL,
        password varchar(256) NOT NULL,
        name varchar(10) NOT NULL,
        email varchar(30),
        index idx_id(id)
                )
 

 

CREATE TABLE IF NOT EXISTS b_1
      (
        idx int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        id varchar(50) NOT NULL,
        password varchar(256) NOT NULL,
        title varchar(100) NOT NULL,
        content text NOT NULL,
        date varchar(20) NOT NULL,
        FOREIGN KEY (memberSeq)
        index index_id(id)
      )

  ;

 

이렇게 윗테이블과 아랫테이블로해서 위에는 정보 받고 아래는 글을 작성하는 테이블인데 pk와 fk가 잘 작성이 되었는지 궁금하고 index를 저렇게 받아도 되는건지... 두개의 테이블은 join으로 받아서 해볼생각입니다 그리고 아래 테이블을 돌리면

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index index_id(id) )' at line 10 라고 오류가 나오는데 잡지를 못하겠어서 질문드립니다..ㅜㅜ 

답변 2개

채택된 답변
+20 포인트

Copy
CREATE TABLE IF NOT EXISTS a_1
      ( memberSeq int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        id varchar(20) NOT NULL,
        password varchar(256) NOT NULL,
        name varchar(10) NOT NULL,
        email varchar(30),
        index idx_id(id)
                )

 

a_1 을 위처럼 만드시고 id 를 index 로 만드셨고 b_1 을 만들때 FK 를 a_1 의 memberSeq

로 하시려면

 

Copy
CREATE TABLE IF NOT EXISTS b_1
      (
        idx int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        id varchar(50) NOT NULL,
        memberSeq  int(11) NOT NULL ,
        password varchar(256) NOT NULL,
        title varchar(100) NOT NULL,
        content text NOT NULL,
        date varchar(20) NOT NULL,
        FOREIGN KEY (memberSeq) REFERENCES  a_1(memberSeq),
        UNIQUE INDEX index_id(idx)
      )

  ;

 

이렇게 하시면 됩니다

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

사랑합니다.. 이게 외래키를 지정해주려면 b_1에서도 memberseq 컬럼을 만들어줘야 지정이 가능한거죠?? 뭐든 감사합니다 ㅜㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

어느 DBMS를 사용하시는지 몰라도

https://dev.mysql.com/doc/refman/5.6/en/create-table.html

https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

mysql에서는 문법이 좀 다르네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

mysql 8.0 사용하고잇습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고