我为我们的预订系统编写了一个发票模块。
因此,当我创建新发票时,我会通过 MySQL 自动生成主键。
然而目前这只是一个简单的整数计数。
问题是我们有义务提供“#year#id”形式的发票号码,其中#year 例如: 2013 年,#id 是每年从 1 开始的 ID。
所以例如20131、20132、20133,2014 年将是 20141、20142。
如何使用自定义主键生成器解决此问题?
您可以在您的年份和 ID 中创建两个字段。
在两个字段上创建一个主键,并为 id 提供 auto_increment 选项。
对于年份的每个唯一值,id 都会递增。例如:
2012 1
2012 2
2012 3
2013 1
您可以在选择时连接它们: SELECT CONCAT(year,id) AS Primary FROM table
插入将是:
INSERT INTO 表 SET 年 = YEAR(NOW())
您不必指定 id。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)