웹 사이트에서 항목을 가져 오는 표가 있으며 해당 항목이 데이터베이스로 이동하면 언제든지 변경 될 수있는 범주 목록에 다음 범주가 지정되어야합니다. 때문에 나는 ID를 1, 6, 11 (5)의 첫 번째 범주를 매핑 같은 간단한 일을 할 수없는이 이유레코드가 들어오는 순서대로 데이터베이스 항목에 순환 카테고리를 지정하려면 어떻게합니까?
, 나는 현재 가능한 범주 목록에서 읽고 생각했습니다 (16)
, 마지막으로 삽입 된 값을 확인한 후 새 레코드에 다음 카테고리를 지정하지만 두 요청이 동시에 들어오는 경우 상상할 수 있습니다. 둘 다 동일한 카테고리를 순서대로 할당 할 수 있습니다.
- 는
- 하면 새로운 행의 ID
- 선택 얻을 기록에 새로운 행을 삽입 테이블 (카테고리 및 레코드) 잠금 : 그래서, 생각의 내 현재의 라운드는 다음은 auto_inc_name desc 0, 1에 의한 순서를 사용하여 insertl 앞의 행
- 이전 행의 카테고리를 취하고 고양이 목록에서 다음 문자를 가져옵니다.
- 갱신
- 테이블을 잠금 해제 새로운 삽입 된 행
나는이 잘 작동 100 % 확실하지 않다, 그것을 할 수있는 더 쉬운 방법이 가능성이있다, 그래서 내가 부탁 해요 :
A. 원래 문제에서 설명한대로 작동합니까? B.이 작업을 더 쉽고/간편하게 할 수 있습니까?
감사합니다 ~
난 그냥 하나 개의 항목 "last_category"(서명 TINYINT의 NOT_NULL)있는 테이블을 만들 ... 방법은 간단 그것을 할 것
좋아요 ...두 개의 웹 양식이 들어 오면 둘 다 해당 테이블을 쿼리하고 "마지막 범주 할당 됨"및 해당 접미사에 대해 동일한 대답을 얻습니다. 나는 여전히 테이블을 잠글 수 있지만, 매번 카테고리를 검색해야한다는 점을 감안할 때 거의 동일한 프로세스로, 다른 테이블을 도입하여 마지막 레코드의 가치를 찾는 단계를 절약 할 수 있습니다. – Stomped
동시 제출이 걱정된다면 전체 프로 시저를 저장 프로 시저로 실행할 수 있습니다. 이전 트랜잭션이 완전히 완료 될 때까지 하나의 트랜잭션이 발생하지 않도록 보장합니다. 또한 "언제든지 변경됨"비트를 잊어 버렸습니다. 그것의 유동성이 있다면, 카테고리가 업데이트 될 때마다 카테고리 수를 쿼리하여 유효한 카테고리로 증가하는지 확인하십시오. – eykanal