Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为不同的分支生成不同的自动编号_Php_Mysql - Fatal编程技术网

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时有效

有关详细信息,请在中搜索“多列索引”