2013-10-29 2 views
0

저는 각 버그에 대해 고유 한 추적 ID를 생성 할 때 호출/버그 추적 스크립트 및 최선의 방법을 연구하고 있습니다.PHP/MySQL 모범 사례 추적 번호 생성

  • 나는 내가 6 (345789) 자리 숫자를 표시하려면,
  • 은 내가 어떻게 표시 형식을 처리하나요 사용할 수있는 다른 형식이 MySQL의
  • 에 인덱스를 사용하는 것이 가장 좋습니다.
  • 6 자리가 넘으면 어떻게 다시 시작해야합니까? 아니면 어떻게 처리해야합니까?
  • 또는 새 필드를 만들고 숫자를 생성하는 것이 가장 좋습니까?

제안

감사

+0

나는 처음부터 다시 시작해야 할 숫자를 사용하지 않을 것이다. 주문 내역을 제한하고 불필요한 복잡성을 추가하는 것 같습니다. 대신 숫자 대신 영숫자를 포함하고 6 자리 이상을 선택할 수 있습니다. 12 자의 영숫자와 같은 것이 곧 없어지지는 않을 것입니다. 예를 들어 UPS는 18 자리 추적 번호를 사용합니다. 특별한 형식을 가질 수는 있지만 알파 숫자입니다. 대소 문자를 혼합하여 사용하는 것은 사람들이 대문자와 기타 등으로 소문자로 들어갈 수 있으므로 사용자 입력에 문제가 될 수 있습니다. 종종 대문자 만 사용됩니다. – user2932397

답변

0

모든 여섯 개 자리 숫자를 사용하는 경우보다 90 만 개 기록을 가지고 있어야하거나 고유 한 값에서 실행됩니다. 더 많은 자릿수를 사용하거나 데이터 유형을 varchar로 변경하고 영숫자 값을 허용하는 것을 제외하고는이 방법을 사용할 수 없습니다. 900,000 레코드가 있다고 생각하지 않는다면, mysql 자동 증가 컬럼을 사용 하겠지만, 처음 6 자리 숫자 (100000)에서 시작하도록 시퀀스를 설정하십시오. 당신이 기록 100000 다음 100001 등이 될 것입니다 만들 때

CREATE TABLE bugs 
(
    tracking_id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100000, 
    ... 
) 

그래서 첫 번째 TRACKING_ID 생성 ... 같은 테이블을 만들 것입니다. 899,999 개 이상의 레코드 (999,999 초과)를 삽입하면 자릿수가 7로 증가합니다.