mysql表中的多个id序列

时间:2013-04-01 04:55:15

标签: php jquery mysql codeigniter backbone.js

我有一个会计应用程序,它具有一个名为company profiles的功能,而该功能又有一个名为“InvoicePrefix”的字段。因此,如果我的公司发票前缀为MY,则所有发票都应生成为MY / 2013-2014 / 001等等...... 同样,如果我将invoicePrefix作为ME,则发票应从ME / 2013-2014 / 001开始,依此类推。

现在我在所有公司的mysql中都有一个共同的发票表,因为我不知道之前公司的数量。

我需要的是每个invoicePrefix从1开始的发票序列。目前我正在生成发票号码(最后出现-MY / 2013-2014 / 001 )。这存在每个公司的序列中断的问题。

那么如何通过一些智能的mysql查询语句来实现这一目标呢?

1 个答案:

答案 0 :(得分:0)

维护一个种子表,记录每个公司的当前指针,如

Company | Year      | Seed
MY      | 2013-2014 |  1
ME      | 2013-2014 |  20
ME      | 2012-2013 |  1120

创建一个用于在表中插入记录的proc首先检查公司记录是否存在于该特定年份的表中,如果没有插入该记录并使用1启动种子计数器,则获取最新的种子值并更新计数器和获取值后,在表中相应地插入记录。