我现在正在为我的软件编写地址簿模块。到目前为止,我已经设置了数据库,它支持非常灵活的地址簿配置。
我可以为我想要的每种类型创建 n 个条目。类型在这里表示“电子邮件”、“地址”、“电话”等数据。
我有一个名为“contact_profiles”的表。
这只有两列:
id Primary key
date_created DATETIME
然后有一个名为contact_attributes 的表。这个有点复杂:
id PK
#profile (Foreign key to contact_profiles.id)
type VARCHAR describing the type of the entry (name, email, phone, fax, website, ...) I should probably change this to a SET later.
value Text (containing the value for the attribute).
我现在可以链接到这些配置文件,例如从我的用户表中。但是从这里我遇到了问题。
目前,我必须为要检索的每个值创建一个 JOIN。是否有可能以某种方式创建一个视图,它给我一个以类型为列的结果?
所以现在我会得到类似的东西
#profile type value
1 email name@domain.tld
1 name Sebastian Hoitz
1 website domain.tld
但是得到这样的结果会很好:
#profile email name website
1 name@domain.tld Sebastian Hoitz domain.tld
我最初不想创建这样的表格布局的原因是,可能总是要添加一些东西,我希望能够拥有多个相同类型的属性。
那么你知道是否有可能动态转换它?
如果您需要更好的描述,请告诉我。