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 中。这些注释的区别仅在于它们属于哪个模块。
我要吗
- 在笔记 table 中存储特定的 table 名称?但是这个名字可以
稍后更改,系统将崩溃
- 为我的所有模块引入诸如 UNIQUE ID 或哈希之类的东西,
这在不同的 tables 中是唯一的,并将它的 id 存储在
笔记 table?
- 为每个模块创建单独的注释 table,不用担心
code/class/table重复?
谢谢你的想法!
我们对可以附在许多物体上的笔记做了类似的事情。我们的每个对象都有一个唯一的class id(我们将每种类型的对象存储在它自己的table中),我们将唯一的class id +特定对象id存储在注释table.
然后我们只需要维护唯一的 class id -> table 名称的查找。通过使用唯一的 class id + object id 作为键,我们确保不同 tables 中的相同 id 不是问题。
我只想知道获取 table 以保存对来自多个 table 的 ID 的引用的最常见方法是什么。
我有一个包含客户、供应商、订单等模块的系统,我想为所有这些模块添加 "Notes" 功能,以便能够 add/read 注释。
由于一个 customer/supplier/order 可以有多个笔记,我选择了一对多的关系方式,因此 table 中的笔记应该在单独的列中引用特定的项目 ID . 但由于我将引用来自多个 table 的 ID,因此它们的 ID 会重叠,我需要一种方法来说明在哪个特定 table 中搜索该 ID。
我不想为我的每个模块创建完全相同的笔记模块,在这里我可以将笔记集中在一个 table 中。这些注释的区别仅在于它们属于哪个模块。
我要吗
- 在笔记 table 中存储特定的 table 名称?但是这个名字可以 稍后更改,系统将崩溃
- 为我的所有模块引入诸如 UNIQUE ID 或哈希之类的东西, 这在不同的 tables 中是唯一的,并将它的 id 存储在 笔记 table?
- 为每个模块创建单独的注释 table,不用担心 code/class/table重复?
谢谢你的想法!
我们对可以附在许多物体上的笔记做了类似的事情。我们的每个对象都有一个唯一的class id(我们将每种类型的对象存储在它自己的table中),我们将唯一的class id +特定对象id存储在注释table.
然后我们只需要维护唯一的 class id -> table 名称的查找。通过使用唯一的 class id + object id 作为键,我们确保不同 tables 中的相同 id 不是问题。