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 10248 게시물 읽기
No. 10248
pk 생성시 함수?사용
작성자
TEST
작성일
2021-05-07 14:37
조회수
1,909

문자열과 컬럼 조합으로 PK를 만들려고 했는데 

ALTER 로 pk 생성시 오류가 나고 유니크인덱스는 생성이 됩니다.

CONCAT 함수도 PK로는 안먹네요


ALTER TABLE table1 ADD PRIMARY KEY (('NO'||col1||col2));

CREATE UNIQUE INDEX UNQ_IDX ON table1  (('NO'||col1||col2));


CONCAT 이나 문자열을 합친 인덱스는 PK로 생성이 안되는건가요?

 

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

안되는 걸로 알아요. 

설령 된다고 해도 이렇게 쓰지는 않죠. 

(조인등을 생각한다면 문제가 많을듯) 


DB 설계 사상에 위배되는거니까요. 


PK 는 조인키로 주로 쓰이는데 

이렇게 설계가 됬다면 다시 한번 모델을 분석하고 

수정하는게 맞다고 봅니다. 

lucky님이 2021-05-07 15:43에 작성한 댓글입니다. Edit

그런데 적은대로 만들어졌다면, 

col1+col2 --> PK 일듯 한데요. (PK = unique & not null) 

col1, col2 에 둘중 하나가 null 일 경우가 있는것 같네요. 

(둘 다 null 인 데이터는 없을 것 같고요) 

lucky님이 2021-05-07 15:49에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
10254ERD IE 표기법 관련 질문입니다. [4]
조동건
2021-05-25
2378
10251Postgres11 이중화 솔루션 채택 문의 [3]
김성아
2021-05-20
2534
10249exception 예외처리 문의 [1]
돌멩이
2021-05-10
2183
10248pk 생성시 함수?사용 [2]
TEST
2021-05-07
1909
10247데이터 타입 문의 [6]
김성수
2021-04-27
2451
10246아카이브 wal파일 질문드립니다. [1]
초보자
2021-04-26
2068
10245특정 데이터별 상위 데이터 구하기 [1]
초보
2021-04-20
1849
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다