Ste*_*ven 5 php mysql business-logic
我正在使用PHP和MySQL开发一个简单的发票系统.
我最初的想法是使用ID(自动递增)作为发票ID.但那不行.
当用户向我的付款服务提供商提交订单时,会创建临时发票.如果交易失败,我需要删除临时发票.
问题是发票已经创建并给出了ID和 - 根据法律规定,我不允许删除任何已发给发票号的发票.所以我需要添加另一列'invoice_id'并在成功交易后添加ID.
多个用户可以同时进行购买.
我的问题是,如何确保检索上次创建的发票ID并增加此值?
我应该使用$_SESSION[]存储invoice_id吗?或者我应该从数据库中检索最新的ID?如果从DB检索,我应该锁定此事务的表吗?
任何指导非常感谢.
为尚未处理的发票创建临时表.处理完发票后,转到永久表并使用mysql中的AUTO_INCREMENT选项分配发票ID
这将允许两个表,一个用于未处理,另一个用于处理.您还可以放置一个id字段来跟踪temp - > perm的移动