2012-11-09 3 views
1

일부 트랜잭션 데이터로 작업 중이며 기본 키 필드에 문제가 있습니다.MySQL 기본 키 필드 유형

123456 
002-0130775-1483424 

어떻게 기본 키가 될이 필드를 포맷 않습니다 내 주문 관리 시스템과 구글 웹 로그 분석에서 데이터를 가져올 때에 OrderID 필드는 다음 두 값의 형식을 가지고?

도움을 주셔서 감사합니다. :)

은 ... 당신은 실제 "키"데이터를 넣을 수 있습니다

+0

최악의 경우,'CHAR (20)'을 사용할 수 있습니다 –

답변

2

예, 기본 키를 내부에 유지하면 변경으로부터 보호 할 수 있습니다. 데이터로 노출 될 수있는 모든 것을 키로 다시 고려해야합니다.

3

당신은 임의의 정수 (에 '내부'키)를 포함하는 자동 증가 기본 키 필드를 생성한다 (MySQL은 5.5.27 실행) 다른 필드에서 OrderNumber 또는 이와 유사한 항목을 찾아 고유 한 색인을 붙이십시오.

2

를 따르십시오, 당신은 (그리고 인덱스 CHAR (유일한 내부 참조 용) syntetic 기본 키를 설정할 수 있습니다 20) 컬럼 (아마도 일관성을 위해 고유 인덱스가 붙어있을 것입니다.) - 언젠가는 기존 데이터와 충돌 할 수있는 다른 시스템과 통합하려는 더 나은 솔루션 인 것으로 보입니다.

+0

이것은 효과가 있습니다! 고맙습니다 :) 귀하의 시점부터 다른 사람들과 함께이 경로를 가기로 결정했기 때문에 원본 데이터는 미래의 시스템에 대해 보호됩니다. 항상 필요한 것은 아니지만 내일은 무엇이 필요한지 ... – hianalytics