有没有办法将MySQL表中的一个列内容映射到MySQL中另一个表的枚举?我认为这不是一件容易的事情,但似乎没有任何关于这个主题的信息。
关于这个问题的任何建议或帮助都会很酷,如果不可能,有没有人知道为什么不可能的内部原因?
最好的问候每个人:)
加里
答案 0 :(得分:9)
enum 类型作为一次性使用非常方便,但它不能很好地扩展到多个表,也不是标准SQL。 这里最好的办法是使用普通表和关系:
外键关系将完成限制可能值列表的工作;并且由于外键和关系是绝对标准的SQL,这种方法还有其他好处 - 例如,报告工具可以识别外键并了解如何使用相关数据。
答案 1 :(得分:0)
如果不这样做,请不要这样做
当然,您只需要一个可能的键表,然后是一个映射到它的外键。
如果您想要一个包含可能的枚举值和限制的表,请通过另一个表或同一表中的groupid进行分组(如果组成员是唯一的)。
虽然加入明智,却闻起来像桌子一样臭。也许最好在存储过程或应用程序代码中将其映射到本机值?