病院管理システム用の PHP ブラウザ ベースのアプリケーションがあります。状況は、支払いが行われる3つの部門があるということです。受付、研究室、薬局。上記の各場所の労働者は異なり、彼らのインプットも異なります。これらの各部門は、領収書と呼ばれる 1 つのテーブルに領収書情報を送信するため、テーブルの最後の ID の次の ID である ID が生成されます。データは、この ID (テーブルの最後の ID に基づいて生成されたもの) に基づいて同じ部門に送り返されます。
この問題は、2 つの部門が同時に送信ボタンをクリックすると発生します。その時点で、最後の ID は両方のクエリで同じであるため、これらの人々は両方とも同じ ID を取得します。これにより、データの保存と部門への返送に問題が発生します。
これに対する解決策はありますか?トリガーが解決すると言われましたが、そこに行って単純にしたくありません。ランダム ID 生成を考えましたが、レシートに表示されるので、病院の担当者は連続 ID を望んでいます。また、システムの速度が (かなり) 低下しないことも考慮してください。
編集:おっと、ここにはもっと多くの情報があるようです。そのため、自動インクリメントは機能していません。考慮すべき3つの列があります。id(Pkey)、レシート番号、デビット番号。人が同時に支払うと、ID とレシート番号は一緒に 1 増加し、デビット番号は空になります。しかし、後で支払う場合、領収書番号は NULL になり、ID と debitno は最後に入力された ID から 1 ずつ増加します。したがって、領収書番号 (部門担当者に返送される予定) が記入される必要はなく、自動インクリメントが機能しない場合は正しいですか? あなたのソリューションesp autoincrementに再び感謝します。