병원 관리 시스템 용 PHP 브라우저 기반 응용 프로그램이 있습니다. 상황은 지불이 이루어지는 세 부서가 있다는 것입니다. 리셉션, 실험실 및 약국. 위의 각 위치의 작업자는 다르므로 입력 내용도 다릅니다. 각 부서는 영수증 정보를 영수증이라는 하나의 단일 테이블로 보내므로 테이블의 마지막 ID 다음의 ID 인 ID가 생성됩니다. 데이터는 테이블의 마지막 ID를 기반으로 생성 된이 ID를 기반으로 동일한 부서로 다시 전송됩니다.PHP에서 ID 중복 방지
이제 두 부서가 제출 단추를 동시에 클릭 할 때 문제가 발생합니다. 이 두 사람은 동일한 ID를 얻습니다. 그 때 마지막 ID는 두 쿼리에서 동일하기 때문입니다. 이로 인해 부서에 데이터를 저장하고 되돌려 보낼 때 문제가 발생합니다.
이제 해결책이 있습니까? 나는 방아쇠가 그것을 풀 것이라고 말했지만 나는 거기에 가고 간단하게 유지하고 싶지 않다. 랜덤 ID 생성을 생각했지만 병원 측은 영수증에 표시되는대로 지속적인 ID를 원합니다. 또한 시스템이 느려지지는 않아야한다는 점을 고려하십시오 (상당히).
EDIT : 더 많은 정보가 여기에있는 것처럼 보이므로 자동 증가가 작동하지 않습니다. 즉, 고려해야 할 3 개의 열이 있습니다. id (Pkey), receiptno 및 debitno. 사람이 동시에 지불하면 id와 receiptno는 함께 하나씩 증가하고 debitno는 비어 있습니다. 그러나 나중에 지불 할 경우 영수증은 NULL이되고 ID와 debitno는 마지막으로 입력 한 ID에서 1만큼 증가합니다. 따라서 receiptno (부서 사람에게 다시 전송 될 예정)가 채워질 필요가 없으므로 자동 증가가 올바르게 작동하지 않을 수 있습니까? 솔루션 esp autoincrement에 다시 한번 감사드립니다.
도대체 누가 당신에게 방아쇠가이 문제를 해결할 수 있다고 말 했나요? 듣는 것을 그만둬야합니다. –
이것은'auto_increment' 기본 키 컬럼으로 해결 된지 오래되었습니다. 어떤 종류의 ID 생성 메커니즘을 사용하고 있습니까? – deceze
그리고 도대체 어떻게 당신은 임의의 ID를 좋은 아이디어로 생각 했습니까? – ThiefMaster