MySQL “subtable” in a table?
本问题已经有最佳答案,请猛点这里访问。
我想创建一个结构,其中有一个带有用户标识和用户名的表,每个用户标识获取它自己的表。 我想知道是否有办法添加第三列,其类型是它自己的表。 如果不是最好的方法是什么。
我认为保存用户属性的最佳方法是创建一个
用户:
1 2 3 4 | user_id | user_name | user_mail -------------------------------- 1 | ali | [email protected] 2 | mahdi | [email protected] |
Usermeta
1 2 3 4 5 6 | meta_id | user_id | meta_key | meta_value ----------------------------------------- 10 | 1 | points | 10 11 | 1 | address | london 12 | 2 | address | iran 13 | 2 | is_vip | true |
在此表单中,您可以为任何所需的用户添加任何属性。 它可以灵活地保存没有预定义的属性。 在这种结构中,您没有数据冗余。
您也可以使用动态列。
我认为这不是一件好事。 您最好为您的用户创建一个表,然后再创建一个包含UserId列的设置表。
这样,您可以使用连接引用用户特定的属性。
例如:
表具有列的用户:UserId和Username
带有列的表设置:UserId,Setting,Value
如果你想要那些组合你可以使用这个SQL:
1 2 3 |