我有一张表格发票:
 id(auto_increment),
年,
发票编号
日期。

我正在处理一个插入语句。

当YEAR更改时,NumInvoice必须重新设置。例如检查上一年和当前年份,如果它们不同,则将其重置。

到目前为止,我有:

insert into invoice values (null, YEAR(CURDATE()),CONCAT(YEAR(CURDATE()),LAST_INSERT_ID()+1),CURRENT_TIMESTAMP());


有没有办法在同一个插入语句上执行此NumInvoice重置?

提前致谢。

最佳答案

编写一个存储例程,以查看表中的最新项目,将其与当前日期进行比较,然后确定“下一个”数字应该是什么。

它不能包含AUTO_INCREMENT,并且必须为每个新发票调用它。

或者,您可以放弃生成发票编号的方式。

10-04 12:13