php - 一个数据库,多个客户

标签 php mysql database database-design doctrine

我目前正在编写一个只有一个数据库但会使用 customer_id 的全局标识符来托管许多客户端的产品。

这一切都很好。

但是,假设我们有一个名为 Ticket 的表。 Idea 有一个主键。当用户添加工单时,工单会通过外键等方式对应到客户。

但是,对于每个客户,我希望他们的票 ID 在他们注册时从 1 开始。

即客户 1 添加 4 张票,ticket_id 计数将为 4。客户 2 注册,他们添加票,然后 ticket_id 将为 5,依此类推。这并不理想。

我的问题是,如果我不想使用多个数据库,该如何解决这个问题?每当我进行更改时,如果数百个具有新列、索引等的数据库都会让我非常恼火,那么必须更新的想法往往会产生影响。

希望这是有道理的,我期待您的意见。

编辑:标记为 symfony,因为我将在 symfony 中使用 Doctrine ORM 来管理数据库......可能无关紧要,但添加以防万一。

编辑:我可能也很愚蠢,在这里遗漏了一些明显的东西,所以我很抱歉。

最佳答案

为什么不只添加一个 ticket_num 列,并自己设法让它们按客户 ID 顺序排列?如果您使用的是 Doctrine ,请考虑在您的 Ticket 模型中实现 preInsert 方法。

关于php - 一个数据库,多个客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3112050/

相关文章:

Python、MySQL 回归、SQL bug 或错误的条件?

php - 如何在mysql查询Php中计算时间

mysql - 通过 mysql 使用 JPARepository 批量复制链接行

PHP/MYSQL 向多个表插入数据

php - 如何使用 Ajax 或 Jquery 填充文本框中的值?

php - 如何获取 RSS feed 的 iTunes 特定子节点?

php - 2 个并发 AJAX 上的 CodeIgniter $this->session->set_userdata()

MySQL- Left Join 显示比预期更多的行

php - 如何从mysql数据库php获取单个记录的时间戳?

php - 查询 list 并将多个结果发布到 mysql 中的表