gpt4 book ai didi

mysql - 数据模型: Having separate table for a field vs having it as a column in the main table

转载 作者:行者123 更新时间:2023-11-29 06:40:49 25 4
gpt4 key购买 nike

我们有一个场景,我们想要存储“状态”(例如“用户”)

我们希望对“用户”状态的允许值施加限制。

因此我们考虑了两种替代方案:

  1. 在“用户”表中将“状态”作为枚举类型的列
  2. 为“状态”建立一个单独的表,并在数据库初始化期间填充允许的值,并将其作为“用户”表中的外键。

您能否建议哪种方法更好以及为什么感谢分享最佳实践的引用资料

最佳答案

枚举不太受欢迎。为状态制作一个单独的表。使用单独的表,可以轻松更改或添加状态、添加相关数据(如果将来需要,只需在状态表中添加一个新字段),轻松获取不同状态的列表。您还可以选择将主表中的状态字段设置为 NULL 或默认设置为其他值。您可以重复使用另一个表中的状态。

如果您只有两种状态,即“事件”和“非事件”,则只需在主表中使用 BOOL(或 TINYINT)字段类型。

关于mysql - 数据模型: Having separate table for a field vs having it as a column in the main table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51693283/

25 4 0