I无法在多用户环境中同时插入条件增量发票号,它在mysql中创建重复的发票号。请帮帮我,
表名: Table1
列名: ID,TYPE_ID,TYPE_NAME,INVOICE_NO 数据库表
在此表Table1中,列ID为自动增量。我希望在每个插入行上顺序递增INVOICE_NO。可以使用以下查询。
首先使用"SELECT MAX( INVOICE_NO ) FROM TABLE1 WHERE TYPE_ID=1“获取最后一个TYPE_ID=1,以便输入SALES类型。然后+1转到新的INVOICE_NO。
执行以下查询:“插入Table1 (TYPE_ID,TYPE_NAME,INVOICE_NO)值(1,'SALES',NEW_INVOICE_NO)**”
这对我来说很好。但在多用户环境中存在问题。如果用户在同一时间执行相同的查询,则会生成重复的Invoice_no。如何避免重复Invoice_No?
它在单用户模式下工作。但是在多用户环境下工作。
发布于 2022-11-24 11:47:20
在数据库上处理多个写操作是很困难的。一个简单的解决方案是将INVOICE_NO列设置为唯一,这样就不会有两个发票可以共享相同的编号。
您可以通过在您的ALTER TABLE Table1 ADD UNIQUE (INVOICE_NO);数据库上运行: MySQL来做到这一点。
有关更多信息,请参阅此信息:unique.asp
https://stackoverflow.com/questions/74559422
复制相似问题