나는 테이블이있다 user_interactions
4 개의 열 이 있습니다.
user_1
user_2
type
timestamp
기본 키는 (user_1,user_2,type)
으로 변경하고 싶습니다.(user_2,user_1,type)
그래서 내가 한 것은 :
drop primary key ...
add primary key (user_2,user_1,type)...
그리고 짜잔 ...
문제는 데이터베이스가 서버에 있다는 것입니다.
따라서 기본 키를 업데이트하기 전에 많은 중복 항목이 이미 들어 왔고 계속해서 들어오고 있습니다.
무엇을해야합니까?
내가 지금하고 싶은 것은 중복을 제거하고 최신으로 유지하는 것입니다 timestamp
(테이블의 열)을 .
그런 다음 어떻게 든 기본 키를 다시 업데이트하십시오.
16
갑자기 숨을 쉬며 저주 한 모든 DBA에 대해 갑자기 기분이 나빠졌습니다 ...
—
Ignacio Vazquez-Abrams
다음에 기본 키와 동일한 열이있는 고유 키를 추가 한 다음 기본 키를 업데이트합니다.
—
knittl
@Ignacio, 서버에 라이브이지만 백업 백업 서버입니다 :-). 저는 DBA는 아니지만 정말 라이브 서버에서이 작업을 시도하지
—
않겠습니다.
내가 지금 무슨 생각을 @knittl, 그래 그의, 매우 늦게하지만 :-)
—
simplfuzz
@pixeline : 복합 기본 키입니다.
—
Ignacio Vazquez-Abrams