database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27626 게시물 읽기
No. 27626
다중 primary key 관련 질문입니다.
작성자
동쪽하늘(quitrin76)
작성일
2008-06-25 00:20
조회수
3,326

두개의 primary key 를 두려고 합니다.

하나는 int 형이고 auto_increment
하나는 varchar 형입니다. 
근데 잘 안되네요..

int 형의 auto_increment 를 사용하지 않으면 잘되는데, 사용하려니까 계속 에러메세지를 띄우네요.


아래의 방식도 안되고
 아래의 방식에서는 어디에 AUTO_INCREMENT 구문을 넣어야 하는지 잘 모르겠습니다.
 

CREATE TABLE xref (


       id        int(10) NOT NULL AUTO_INCREMENT,


       acc             varchar(30) NOT NULL,


       keyword         varchar(30) NULL,


       PRIMARY KEY (acc)
);


CREATE TABLE xref (


       id        int(10) NOT NULL ,


       acc             varchar(30) NOT NULL,


       keyword         varchar(30) NULL,


       PRIMARY KEY (id, acc)
);

그럼 수고하세요~

이 글에 대한 댓글이 총 1건 있습니다.

MySQL에서는 auto_increment가 설정된 필드가 있는 경우에는 

해당 필드에 대해서 index를 설정하는 것을 요구하고 있습니다. 

따라서 다음과 같은 create 문이면 원하시는 대로 PK를 다른 필드로 두면서 

table을 생성하는 것이 가능할 것 같습니다.


CREATE TABLE xref (

       id        int(10) NOT NULL AUTO_INCREMENT,

       acc             varchar(30) NOT NULL,

       keyword         varchar(30) NULL,

       PRIMARY KEY (acc),

       UNIQUE ( id )

);


보통의 경우 위와 같은 형식의 table에서 id는 unique해야 하는 것이 보통이겠지만 

unique 조건이 아니어야만 한다면


CREATE TABLE xref (

       id        int(10) NOT NULL AUTO_INCREMENT,

       acc             varchar(30) NOT NULL,

       keyword         varchar(30) NULL,

       PRIMARY KEY (acc),

       INDEX ( id )

);


도 가능합니다.

우욱님이 2008-06-25 11:18에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27630[질문] 두개의 쿼리가 같은지 알고 싶어요~ [1]
새벽소리
2008-06-30
3055
2762911111
1111
2008-06-28
3123
27627INSERT 후 바로 SELECT 하였을 때 값을 가지고 오지 못합니다.
안중경
2008-06-26
3239
27626다중 primary key 관련 질문입니다. [1]
동쪽하늘
2008-06-25
3326
27625함수가 생각이 안나네요.. 도와주세요 ㅠㅠ [2]
신기해
2008-06-24
3923
27624mysql 에서 사용자 변경 방법은.
손님
2008-06-24
3203
27623mysql6.0에서 기존db연결이 안되요.. [1]
울라
2008-06-24
3474
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다