私は病院管理システム用のPHPブラウザベースのアプリケーションを持っています。状況は、支払いが行われる3つの部門があるということです。受付、ラボ、薬局などがあります。上記の各場所の作業員は異なっており、入力も同じです。これらの部門のそれぞれは、領収書情報を領収書と呼ばれる1つのテーブルに送信するため、テーブルの最後のIDの次のIDであるIDが生成されます。データはこのIDに基づいて(テーブルの最後のIDに基づいて生成された)同じ部門に送り返されます。 2つの部門が同時に送信ボタンをクリックしたときにPHPでIDの重複を避ける
今、問題が発生します。その時点で両方のクエリで最後のIDが同じであるため、これらの人は同じIDを取得します。これにより、データを部門に保管して返送する際に問題が発生します。
これには解決策がありますか?私はトリガーがそれを解決するだろうと言われましたが、私はそこに行かず簡単にしたいと思っていません。私はランダムなID生成を考えましたが、病院の人は領収書に表示されるように連続IDを求めています。 システムが(かなり)遅くならないように考慮してください。
編集:ここので、自動インクリメントが動作していない多くの情報があるようおっとは思えます。 3つの列があります。 id(Pkey)、receiptno、およびdebitno。 その人が同時に支払った場合、idとreceiptnoは1つずつ増加し、debitnoは空になります。しかし、彼が後で支払うつもりなら、領収書はNULLになりますが、IDとデビットノーは最後に入力されたIDから1つ増えます。 したがって、領収書番号(部門担当者に送付される予定)が記入される必要はないので、自動増分は正しく機能しないでしょうか? あなたのソリューションのesp autoincrementをもう一度おねがいします。データベースは、ユニークなIDの生成の面倒を見るよう
トリックがあなたにこれを解決できると言ったのは誰ですか?あなたは彼らの話を聞くのをやめる必要があります。 –
これは 'auto_increment'主キー列で解決されて以来ずっと問題です。どのようなID生成メカニズムを使用していますか? – deceze
そしてあなたはどのようにしてランダムなIDを良いアイデアとみなしましたか? – ThiefMaster