所以我知道在Mysql中有一个SET数据类型,可用于在一列中保存零个或多个String元素。
我想做的事情是有一个名为EMPLOYEES的表,它有一个名为Languages的列,该列将包含员工知道的所有语言的集合。但是还会有一个语言表,其中包含系统中所有可能的语言,我需要使用EMPLOYEES语言设置列来引用语言表中语言的ID。
这是否可行或是否有更好的方法来解决这个问题?
谢谢
答案 0 :(得分:0)
请勿使用set
。此数据类型限制为64个元素(请参阅documentation)。世界上有超过64种语言。
相反,创建一个真正的联结表,其中包含EmployeeId
和LanguageId
的列(以及对Employees
和Languages
表的适当外来引用)这也给出了你能够:
此外,set
数据类型特定于MySQL,因此如果您决定更改底层数据库,则无论如何都必须创建这样的联结表(或类似的东西)。