2012-01-26 2 views
0

MySql에서 문자를 자동으로 자동 증가시킬 수 있습니까? 그렇지 않다면 아래의 내 응용 프로그램에 대한 설명을 기반으로 제안하거나 대안을 제시 할 수 있습니까?창고 관리 응용 프로그램 - 기본 키의 문자 자동 증가.

배경 :

나는 창고 관리 응용 프로그램을 구축하고있다. 창고 내에서 항목을 찾으려면 1,2,3 ... 및 선반 행 번호를 a, b, c, ... aa, ab, ac ...로 번호를 매기겠습니다. 특정 셀을 찾으려면 선반에서 당신은이 두 가지의 조합을 얻을 것이고, 위젯은 '4d'에 위치한다. 이렇게하려면 자동 증가 기본 키와 자동 증가 문자가있는 ShelfRow 테이블이있는 ShelfColumn 테이블을 갖게됩니다. 연관 테이블은이 둘을 결합하여 고유 한 선반을 형성하여 내 용품을 찾습니다.

답변

2

아니요, 문자를 자동으로 증가시킬 수 없으며 필요한 경우도 할 수 없습니다.

MySQL의 auto_increment PK에 대한 간략한 설명 : 당신은 그 행동에 의존해서는 안된다는 점에서 특별합니다. InnoDB는 하드 드라이브에 데이터를 물리적으로 저장하는 방법을 결정하기 위해 InnoDB에서도 사용됩니다.

따라서 auto_increment가 숫자를 늘리고 문자를 추가하지 않고 숫자를 증가시키는 것이 가장 좋습니다.

반면에 글자로 선반 행을 레이블링해야하는 이유는 무엇입니까? 번호로 번호를 표시하지 않을 이유가 없습니다. 좋은 행렬을 얻을 수있을 것이고, 누구든지 컬럼 10 행 25가 무엇인지 알 수 있고 그것을 찾는 방법을 알게 될 것입니다.

+0

당신은 또한 보통 실제 통로를 알아야 할 것입니다. 제가 작업 한 장소에서 항상 편지를 사용하여 식별되었지만 당신이 말했듯이 당신은 할 수 없습니다. '(통로 | 행 | 열) => (3 | 10 | 4)' –

+0

숫자 만 사용할 수 있습니다. 사람들이 시스템을 사용하기가 쉽다는 것입니다. 그들은 편지가 통로에 사용되고 혼란이 덜하다는 것을 알고 있습니다. 다른 많은 사람들이 창고에있는 위치를 분류하는 방법에 대한 제안을하고 있는데, 많은 창고와 같이 크기가 균일 한 선반이 아니라는 것을 명심하십시오. 로프트와 서랍 등이 있습니다. – andrew

1

필자는 autoincrement가 이런 종류의 기능을 지원하지 않는다고 생각합니다. 결국 모든 언어와 모든 문자 집합에 대해 알기 위해 알아야 할 점은 자동 증가시킬 대상과 주어진 알파벳의 마지막 문자를 얻을 때 수행해야 할 작업을 결정할 때 문자가 아닌 기호 (구두점, 공백, 제어 코드 등).

응용 프로그램 논리에서 문자 선택을 구현하거나 행에 숫자 값을 사용하여 출력시 문자로 변환해야합니다 (a는 1, b는 2, aa는 27, ab는 28, 기타).

관련 문제