我正在使用 PHP 和 MySQL 开发一个简单的发票系统。
我最初的想法是使用 ID(自动递增)作为发票 ID。但这行不通。
当用户向我的支付服务提供商提交订单时,会创建一张临时发票。如果交易失败,我需要删除临时发票。
问题是发票已经创建并提供了 ID - 根据法律,我不允许删除任何已提供发票编号的发票。所以我需要添加另一列'invoice_id'并在成功交易后添加一个ID。
多个用户可以同时进行购买。
我的问题是,如何确保检索最后创建的发票 ID 并增加它?
我应该使用 a$_SESSION[]
来存储invoice_id
吗?或者我应该从数据库中检索最新的 ID?如果从数据库中检索,我应该为这个事务锁定表吗?
非常感谢任何指导。