Mysql 基于上一个条目的增量数据
您将如何创建这种数据库。我的系统拥有一个数据库,数据库中有多个为客户提供服务的公司用户 我无法想象的是,我如何将数据插入数据库,以便从公司id的上一个增量中提供\u nr增量+1Mysql 基于上一个条目的增量数据,mysql,Mysql,您将如何创建这种数据库。我的系统拥有一个数据库,数据库中有多个为客户提供服务的公司用户 我无法想象的是,我如何将数据插入数据库,以便从公司id的上一个增量中提供\u nr增量+1 +----+--------- +------------+----------+ | offer_id (AI) | company_id | offer_nr | +----------+----------+----------+ | 1 | 1001 | 10022
+----+--------- +------------+----------+
| offer_id (AI) | company_id | offer_nr |
+----------+----------+----------+
| 1 | 1001 | 10022 |
| 2 | 1002 | 150 |
| 3 | 1001 | 10023 |
| 4 | 1002 | 151
+----+------------+----------+----------+
别这样 具有自动递增的公司ID以及独立的订单ID。 这就是它的工作原理
数据库中并没有数字这样的东西。数字仅在选择时显示 您可以使用更新前触发器执行此操作。您可以使用这样的触发器根据历史值分配offer_nr的值。关键代码是:
new.offer_nr = (select coalesce(1+max(offer_nr), 1)
from offers o
where o.company_id = new.company_id
)
如果希望保持值的有序性,您可能还希望具有“更新前”和“删除后”触发器
另一种方法是在查询时指定值。您通常会使用一个变量来保存和增加计数。否,我有不同的表格用于我获得此公司id的公司,也有不同的表格用于我获得报价id的公司。我只是不希望在下一次插入公司id 1001时,报价编号为10024。是的,您必须有不同的表格用于公司。不,用这种方法计算订单没有意义。你能给我一些表格的例子吗?因为每个客户都想在他们的发票和报价上有不同的编号……不,他们不需要。