通过年度回滚触发发票编号系统的帮助

时间:2015-02-19 18:05:36

标签: mysql database triggers

我想创建一个触发器来帮助促进发票编号系统,以便我可以这样做:

2014-1,2014-2,2014-3,2015-1

ID号需要按年回滚。出于兼容性原因,我无法使用复合密钥。

我正在尝试这样的触发器:

FOR EACH ROW
BEGIN
update invoices set new.number = (SELECT MAX(NUM) FROM invoices WHERE DATEPART(year, new.date) = DATEPART(year, date)) + 1;
END

我表中的日期是MySQL中的DATE格式。我正在尝试使用它,所以它会看到插入新行的日期,找到当年最高的数字并设置它以使新的行高一个。

但是,在插入新行时,我收到与触发器相关的错误。关于如何解决这个问题的想法或者如何更好地实现这个想法?

0 个答案:

没有答案