PHPとMySQLを使用して簡単な請求書システムを開発しています。
私の最初の考えは、請求書IDにID(自動インクリメント)を使用することでした。しかし、それは機能しません。
ユーザーが私の支払いサービスプロバイダーに注文をコミットすると、一時的な請求書が作成されます。取引が失敗した場合、一時的な請求書を削除する必要があります。
問題は、請求書が作成され、IDが付与されていることです。法律により、請求書番号が付与されている請求書を削除することは許可されていません。したがって、トランザクションが成功した後、別の列'invoice_id'を追加し、IDを追加する必要があります。
複数のユーザーが同時に購入する場合があります。
私の質問は、最後に作成された請求書IDを確実に取得して、これをインクリメントするにはどうすればよいですか?
$_SESSION[]
保存にを使用する必要がありinvoice_id
ますか?または、DBから最新のIDを取得する必要がありますか?DBから取得する場合、このトランザクションのテーブルをロックする必要がありますか?
どんなガイダンスでも大歓迎です。