有没有办法将 MySQL 表的其中一个列内容映射到 MySQL 中另一个表的枚举?我认为这很简单,但我似乎找不到关于该主题的任何信息。
关于此事的任何建议或帮助都会很酷,如果不可能,有没有人知道不可能的内部原因?
向大家致以最诚挚的问候:)
加里
最佳答案
enum 类型作为一次性使用很方便,但它不能很好地扩展到多个表并且也不是标准 SQL。 这里最好的办法是使用普通表和关系:
- 定义一个新表来保存可能值的列表;我们称它为 Master1
- 在另外两个表中(我们称它们为 Table1 和 Table2),不要将字段设为枚举;只需将其设为与 Master1 具有外键关系的普通字段即可。
外键关系将完成限制为可能值列表的工作;并且因为外键和关系是绝对标准的 SQL,这种方法还有其他好处 - 例如报告工具可以识别外键并了解如何使用相关数据。
关于sql - 使用表在 MySQL 中提供枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106916/