mysql中的自动增量超过1

fiei3ece  于 2022-10-31  发布在  Mysql
关注(0)|答案(3)|浏览(130)

我有一个发票系统,它运行在一个sql数据库上。每次我创建一个新发票,发票号就会增加1。
所以发票号是5000,下一个是5001,然后是5002,以此类推。我希望下一个发票号增加一个不同的数字,比如说15。
因此,发票编号依次为5000、5015、5030等。
有没有可能在phpmyadmin中修改一些东西来实现这一点。
短暂性脑缺血

rks48beu

rks48beu1#

尝试这样做,请注意这是全局的,而不仅仅是一个表。如果您只想在一个表上发生这种情况,请创建一个存储过程来设置ID,而不是自动递增。

SET @@auto_increment_increment=2;
SET @@auto_increment_offset=2;

文件:https://dev.mysql.com/doc/refman/8.0/en/replication-options-source.html#sysvar_auto_increment_increment
您也可以只使用一个子查询来决定发票号应该是什么,而不使其自动递增。(这可能是不可能的,在你的情况下,在这一点上我的顶部例子是唯一的方法去)但如果你可以编辑软件,你只需要选择存在的最高发票,然后再加上+2-然后将其存储到您提供的列中。

55ooxyrt

55ooxyrt2#

您可以使用两个数据行来执行此作业。一个ID具有一般自动递增,另一个InvoiceNumber具有预设值(ID * 15):

ALTER TABLE `definitions`
    ADD COLUMN `InvoiceNumber` INT NOT NULL DEFAULT (ID * 15) AFTER `DisplayOrder`;
rekjcdws

rekjcdws3#

我知道您可以修改mySQL中的步骤,但这是一个全局更改,将影响所有表。我建议您保留数据不变,并使用视图将值乘以15。
显然,您将用包含真实的信息、日期、客户等的多个列替换描述列。
第一个问题

  • db〈〉小提琴

相关问题