문자열과 컬럼 조합으로 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로 생성이 안되는건가요?
안되는 걸로 알아요.
설령 된다고 해도 이렇게 쓰지는 않죠.
(조인등을 생각한다면 문제가 많을듯)
DB 설계 사상에 위배되는거니까요.
PK 는 조인키로 주로 쓰이는데
이렇게 설계가 됬다면 다시 한번 모델을 분석하고
수정하는게 맞다고 봅니다.
그런데 적은대로 만들어졌다면,
col1+col2 --> PK 일듯 한데요. (PK = unique & not null)
col1, col2 에 둘중 하나가 null 일 경우가 있는것 같네요.
(둘 다 null 인 데이터는 없을 것 같고요)