막연한 질문 제목에 대해 죄송합니다.주문 열의 초기 채우기에 대한 MySQL 쿼리
다른 카테고리에 속하는 거대한 제품 목록이 들어있는 테이블이 있습니다. 특정 제품이 속한 카테고리를 나타내는 외래 키 열이 있습니다. 나는. "바나나"행 범주에서 "과일"을 나타내는 3 일 수 있습니다.
이제 해당 특정 범주 내에서 표시 순서를 나타내는 추가 "열"열을 추가했습니다. 초기 주문이 필요합니다. 목록이 크기 때문에 모든 행을 손으로 바꾸고 싶지 않습니다. 하나 또는 두 개의 쿼리로 할 수 있습니까? 처음 주문이 1로 시작하고 올라간다면 어떤 초기 주문인지는 신경 쓰지 않습니다.
ID가 1에서부터 제품 범주 및 순서에 상관없이 1부터 모든 다른 카테고리에 대해 새로 시작해야하기 때문에 SET 주문 = id와 같은 작업을 수행 할 수 없습니다.
달성해야 할 것의 예 :
ID | 제품 | 카테고리 | 주문
1 | 바나나 | 과일 | 1
2 | 의자 | 가구 | 1
3 | 사과 | 과일 | 2
4 | 콜라 | 음료 | 1
5 | 망고 | 과일 | 3
6 | 펩시 | 음료 | 2
은 보시다시피
를 (이 외래 키이기 때문에 그냥 설명을 위해 이름을 넣어 예를 들어 카테고리가 실제로 번호), 주문 번호는 각각의 서로 다른 카테고리에 대해 1 일부터 새롭게 시작합니다.
기본 키가 숫자 일 수도 있고 1부터 시작하는 키가 있으면 새 열에 복사 할 수 있습니까? –
나는 모든 카테고리가 자신의 주문을 가지기 때문에 나는 order = id (id는 auto_increment pk)를 할 수 없다고 말했다. 아니면 잘못된 접근 방식입니까? – Sejanus