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
운영게시판
최근게시물
PostgreSQL Q&A 4534 게시물 읽기
No. 4534
이게 왜 에러일까요? 아무리봐도 unique문제인듯
작성자
박기원
작성일
2003-01-16 21:44
조회수
1,020

안녕하세여?

여러개의 테이블이 잇는데 그중 문제를 발생하는 테이블만 짤랐습니다.

create sequence development_state_seq;

create table development_state(

development_state_code int DEFAULT nextval('development_state_seq') UNIQUE NOT NULL,

development_state_korean varchar(50) UNIQUE,

development_state_english varchar(50) UNIQUE NOT NULL

);

 

 

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: ERROR: Cannot create index: 'development_s_development_s_key' already exists

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

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: NOTICE: CREATE TABLE/UNIQUE will create implicit index 'development_s_development_s_key' for table 'development_state'

psql:aaa.sql:25: ERROR: Cannot create index: 'development_s_development_s_key' already exists

 

를 보시면 development_s_development_s_key 라는 인덱스가 이미 있다고 나옵니다.

 

테이블을 생성하실때 UNIQUE 라는 부분을 빼시고 생성한후에 CREATE UNIQUE INDEX 명령어로 따로 만드시는것이 좋을 듯 합니다. 아니면 테이블 이름이나 컬럼의 이름 길이를 줄이면 해결 될듯 합니다.

테이블을 생성할때 UNIQUE 옵션을 주나 CREATE UNIQUE INDEX 를 하나 결과는 같습니다.

신기배(nonun)님이 2003-01-17 00:26에 작성한 댓글입니다.

7.3에선 64자까지로 늘어났음니다

이전버젼은 32자

 

태이블명 + '_' + 필드명 + '_pkey'이런식으로 이름을 붙이니까 현재버젼에서 그대로쓰려면

태이블명을 줄이든지 필드명을줄이든지 해야겠음니다.

아님 필드명을 붙힐때 korean_development_state이런식으로 하면 해결되겠네요

황치영님이 2003-01-17 02:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4539left()가 없나요??? [2]
고종길
2003-01-17
1047
4536오라클과 같은 힌트사용이 가능한지 궁금합니다. [2]
이창욱
2003-01-17
1293
4535primary key [2]
노상식
2003-01-17
1324
4534이게 왜 에러일까요? 아무리봐도 unique문제인듯 [2]
박기원
2003-01-16
1020
4533초보질문입니다...(GRANT) [4]
고종길
2003-01-16
1118
45321번 테이블에서 2번테이블로 정보를 이동할때 [2]
눈사람
2003-01-15
917
4531원격지 접속.. [1]
곽상영
2003-01-15
1332
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다