我有一张表格发票:
id(auto_increment),
年,
发票编号
日期。
我正在处理一个插入语句。
当YEAR更改时,NumInvoice必须重新设置。例如检查上一年和当前年份,如果它们不同,则将其重置。
到目前为止,我有:
insert into invoice values (null, YEAR(CURDATE()),CONCAT(YEAR(CURDATE()),LAST_INSERT_ID()+1),CURRENT_TIMESTAMP());
有没有办法在同一个插入语句上执行此NumInvoice重置?
提前致谢。
最佳答案
编写一个存储例程,以查看表中的最新项目,将其与当前日期进行比较,然后确定“下一个”数字应该是什么。
它不能包含AUTO_INCREMENT
,并且必须为每个新发票调用它。
或者,您可以放弃生成发票编号的方式。