PHP + MySQL - 一个 table 引用来自多个 table 的 ID

PHP + MySQL - one table holding reference to IDs from multiple tables

我只想知道获取 table 以保存对来自多个 table 的 ID 的引用的最常见方法是什么。

我有一个包含客户、供应商、订单等模块的系统,我想为所有这些模块添加 "Notes" 功能,以便能够 add/read 注释。

由于一个 customer/supplier/order 可以有多个笔记,我选择了一对多的关系方式,因此 table 中的笔记应该在单独的列中引用特定的项目 ID . 但由于我将引用来自多个 table 的 ID,因此它们的 ID 会重叠,我需要一种方法来说明在哪个特定 table 中搜索该 ID。

我不想为我的每个模块创建完全相同的笔记模块,在这里我可以将笔记集中在一个 table 中。这些注释的区别仅在于它们属于哪个模块。

我要吗

谢谢你的想法!

我们对可以附在许多物体上的笔记做了类似的事情。我们的每个对象都有一个唯一的class id(我们将每种类型的对象存储在它自己的table中),我们将唯一的class id +特定对象id存储在注释table.

然后我们只需要维护唯一的 class id -> table 名称的查找。通过使用唯一的 class id + object id 作为键,我们确保不同 tables 中的相同 id 不是问题。