Php 为不同的分支生成不同的自动编号
我目前正在为一家有许多分支机构的公司开发一个小型发票系统。我想知道如何根据每个分行生成不同的发票自动编号。 这是我的表Php 为不同的分支生成不同的自动编号,php,mysql,Php,Mysql,我目前正在为一家有许多分支机构的公司开发一个小型发票系统。我想知道如何根据每个分行生成不同的发票自动编号。 这是我的表发票头的表结构: id | number | cust | grand_total 我应该为每个分支创建不同的表吗?例如,invoice\u header\u 1、invoice\u header\u 2、invoice\u header\u 3创建一个包含分支类型的表会更好、更可行。 然后只向表invoice_头中添加一列,并在其中输入分支表中确切分支的id 这样你就可以把这
发票头的表结构:
id | number | cust | grand_total
我应该为每个分支创建不同的表吗?例如,invoice\u header\u 1、invoice\u header\u 2、invoice\u header\u 3
创建一个包含分支类型的表会更好、更可行。
然后只向表invoice_头中添加一列,并在其中输入分支表中确切分支的id
这样你就可以把这两个连接起来,保持它的整洁。而且更容易编辑
因此:
表格发票抬头
id |编号|客户|总计|分行| id
桌支
id | branch_name如果您使用ENGINE=MyISAM
,MySQL将为您执行以下操作:
CREATE TABLE invoice_header (
branch_id INT UNSIGNED NOT NULL,
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
number INT UNSIGNED NOT NULL DEFAULT 1,
cust INT UNSIGNED NOT NULL,
grand_total DECIMAL(10,2) NOT NULL DEFAULT 0,
PRIMARY KEY(branch_id, id)
) ENGINE=MyISAM;
创建表发票头(
分支id INT无符号非空,
id INT无符号非空自动增量,
数字INT无符号非空默认值1,
cust INT UNSIGNED NOT NULL,
总小数(10,2)不为空默认值为0,
主键(分支id,id)
)发动机=MyISAM;
MySQL将为id
列生成一个唯一的值,从1开始,但针对每个不同的分支id
。这仅在发动机为MyISAM时有效
有关详细信息,请在中搜索“多列索引”