create table invoices(
year int not null
,invoice_number int not null auto_increment
,primary key(year, invoice_number)
);
insert into invoices(year) values(2009);
insert into invoices(year) values(2009);
insert into invoices(year) values(2009);
insert into invoices(year) values(2010);
insert into invoices(year) values(2010);
insert into invoices(year) values(2010);
select *
from invoices;
+------+----------------+
| year | invoice_number |
+------+----------------+
| 2009 | 1 |
| 2009 | 2 |
| 2009 | 3 |
| 2010 | 1 |
| 2010 | 2 |
| 2010 | 3 |
| 2011 | 1 |
发票应自每年4月1日起自动生成 我创建了这样的表,但它将从1月1日开始生成,我想从4月1日开始
答案 0 :(得分:1)
您应该存储实际日历日期和财务年度。可以使用触发器插入/更新财政年度(" 2009"从2009-04-01到2010-04-01)(编辑:AFTER错误,BEFORE对于auto_increment非常重要){{1} } / BEFORE INSERT
。我不知道你如何对索引的次要部分进行auto_increment,但如果它适用于2009年和#34;它也应该适用于2009财政年度。