@Column({unique: true})와 @PrimaryColumn()의 차이
80
작성한 질문수 13
3:23 (nickname에 unique: true 적용)
다름이 아니라 중복을 허용하지 않을 때 @Column({ unique: true })를 해도 되지만 @PrimaryColumn()을 해도 되지 않나해서 여쭤봅니다!
혼자 리서치해본 바로는 PrimaryColumn은 식별자로써 쓰일 수 있으면 쓰고 @Column({ unique: true})는 식별자로 쓰진 않아도 될 때 적용한다는 얘기를 들었습니다.
그런데 식별자가 많아서 나쁠건 없지 않나? 싶기도 하고 nickname을 식별자로 쓸 가능성도 있으면 좋을거 같기도 해서 PrimaryColumn으로 해도 괜찮을거 같다는 생각이 들었습니다.
PrimaryColumn이 한 테이블에 너무 여러개 존재하면 안 좋다거나 그런 컨벤션이 있는 것일까요?
답변 1
0
안녕하세요!
말씀하신대로 PrimaryColumn은 정의상 "식별자"입니다.
"식별자가 많아서 나쁠게 없다"라고 하셨지만 이건 나쁜게 맞습니다.
정확히 어떤 값이 어떤 필드로 구분되는지 모르기 때문이죠.
일반적으로 "식별자"는 데이터베이스 개념이 아니더라도 단 하나의 유니크한 조합으로 설정합니다.
그래서 테이블에서 여러 칼럼을 동시에 Primary로 잡게되면 각각이 식별자가 되는게 아니라 해당 필드들의 "조합"이 식별자가 됩니다.
감사합니다!
cascade 질문
0
39
1
@types/bcrypt 설치과정이 누락된것같습니다.
0
46
1
process.env port key 에러
0
46
1
추상화
0
49
1
[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상
0
94
2
where 키워드가 들어가는 메서드와 아닌 메서드
0
56
1
BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?
0
69
1
app.controller app.service 는 지워도되나요?
0
69
1
@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이
0
78
1
포트 3000에서 listen하는 곳까지 넘어가지 않습니다.
0
66
1
PickType 사용 시 `as const`를 꼭 사용해야 하나요?
0
102
2
socket connect 오류
0
96
2
강의를 들으면서 궁금한 점
0
97
2
DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?
0
60
2
커리큘럼 질문
0
98
2
put 요청은 언제
0
90
3
typeorm VS prisma
0
347
2
142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.
0
76
2
User 데코레이터 버그 수정 전달드립니다.
0
67
1
git 주소 부탁드립니다.
0
112
2
nest g resource 명령어 에러
0
99
2
로그인 엔드포인트 관련 질문
0
84
2
yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우
0
146
3
"흔히 사용되는 메서드" 강의 관련 질문입니다~
0
95
2





