mysql - 重置 insert into 语句中的 auto_increment

标签 mysql innodb sql-insert

我有一张发票表: id(自动递增), 年, 发票号, 日期。

我正在处理插入语句。

当年份更改时,NumInvoice 必须重置。例如检查上一年和当前年份,如果不同则重置。

到目前为止我已经:

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

有办法在同一个插入语句上重置 NumInvoice 吗?

提前致谢。

最佳答案

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

不能涉及AUTO_INCRMENT,并且必须为每张新发票调用它。

或者您可以放弃这种生成发票号码的方式。

关于mysql - 重置 insert into 语句中的 auto_increment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41922090/

相关文章:

sql - 我如何允许sql中的重复值?

php - 如何将带逗号的字符串插入MYSQL

MySQL 数据库损坏

mysql - 将设置为使用 MyISAM 的程序转换为 INNODB

mysql - 为什么 MySQL InnoDB 插入这么慢?

python - 如何使用 python 将值列表插入到 mysql 数据库中?

mysql - 汇总列中的 bigint 值

c# - 如何更改数据库 - Entity Framework (mysql 数据库)使用的模式?

mysql尝试使用多个条件进行选择

php - 如何将这 25 个 INSERT 查询合并为一个?