Php 使用mysql数据库生成事务号

Php 使用mysql数据库生成事务号,php,mysql,Php,Mysql,在我的ERP中,我使用php和mysql生成事务号,这意味着我有如下表 ........................................ **tid** **transactionnumber** 1 TRNUM-1 2 TRNUM-2 .................................................. 在顶部数据tid中,transactionnumber是两列,下面是两

在我的ERP中,我使用php和mysql生成事务号,这意味着我有如下表

........................................  
**tid**      **transactionnumber**

1             TRNUM-1

2             TRNUM-2  
.................................................. 
在顶部数据tid中,transactionnumber是两列,下面是两行数据

下一次我生成事务号时,比如我得到了tid的最大值,并且在保存页面本身时生成了事务号,比如TRNUM-3

但当两个人同时使用应用程序时,两个用户得到的值与3相同,所以两个人的事务号保存为TRNUM-3


因此,为了避免我可以遵循的流程。请您尽快回复我的客户正在等待解决此问题,请提前感谢

您可能不需要两个单独的列来表示唯一的行。坚持使用您的MySQL唯一ID,并将其用作您的事务编号。tid应该在数据库中用于引用,而人类可读的事务可以在PHP端随意创建。

有多种方法可以修复它

Oracle方式—在Oracle R12和Fusion应用程序中实现的方式

使用序列生成器,但不幸的是,它在mySQL中不可用 另一种方法是使用mySQL

保存记录并获取事务id,然后向其中添加一个常量编号,并使用事务编号再次更新记录
我知道,先生,但在我的erp中,生成交易编号取决于以前的数据,如果两个用户同时访问,他们获得相同的数据,他们获得相同的交易编号。在上述示例中,如果两个用户访问表,他们将获得最大tid为2,交易编号为trnum-3,因此将保存两个条目用同样的号码。。