Auto-increment - automatic reset for each year

后端 未结 1 1349
感情败类
感情败类 2020-12-11 09:03

MySQL/InnoDB

In my case my receipts should be counted on yearly basis; 1/2015, 2/2015 ... 556/2015 and so on. When next year comes, the counter should start from 1 a

1条回答
  •  南方客
    南方客 (楼主)
    2020-12-11 09:05

    After help from @RickJames the solution is:

    CREATE TRIGGER ReceiptNumber BEFORE INSERT ON receipts FOR EACH ROW
    BEGIN
      SET NEW.rcyear=YEAR(NOW());
      SET NEW.rcno=(SELECT IFNULL(MAX(rcno),0)+1 FROM receipts WHERE rcyear=YEAR(NOW()));
    END;
    

    0 讨论(0)
提交回复
热议问题