我需要一个mysql表来包含静态和动态数据 所以第一个数据是标准的错误,如名称电子邮件地址等。在该行中我需要一个新的维度与动态数据,如上次更新(日期) 例如
Person 1| name| address| age|work record---> within-> work record: experience|Qualifications
person 2| name| address| age|work record
person3 | name| address| age|work record
所以第1人可能只有一列经验而第2人可能有5,所以我需要一个新的维度来避免为每个人创建一个单独的表。这可以在mysql中完成吗?
答案 0 :(得分:2)
这样做的正确方法是获得经验和资格的第二(和第三)表。 (如果要存储的数据相似,可以将这两个抽象到同一个表中)
然后,您将使用与“person”-table的1:n关系,使用person-table的主键作为体验和资格表中的外键。
表格看起来像这样:
PERSON table:
-------------
PersonID (Primary Key)
Name
Address
Age
QUALIFICATION table:
--------------------
QualificationID (Primary Key)
PersonID (Foreign key to Person table)
Qualification-field1
Qualification-field2
Qualification-fieldn
EXPERIENCE table:
-----------------
ExperienceID (Primary Key)
PersonID (Foreign key to Person table)
Experience-field1
Experience-field2
Experience-fieldn
使用约束可以确保您不能拥有引用不存在的PERSON记录的EXPERIENCE记录。