我正在尝试创建一个用户可以注册并创建配置文件的站点,因此我在数据库中使用两个MySQL表,例如users和user_profile.
该users表有一个auto increment primary key叫user_id.
该user_profile表具有相同的primary key名称,user_id但它不是auto increment.
*请参阅说明为什么我有多个表格.
当用户注册时,来自注册表单的数据被插入到用户中,然后last_insert_id()输入到表的user_id字段中user_profile.我使用事务来确保始终发生这种情况.
我的问题是,这是不好的做法吗?
即使一个用户只能拥有一个配置文件,我是否可以unique auto increment primary key使用该user_profile表?
也许创建像这样的数据库有其他缺点?
我很感激,如果有人能解释为什么这是一个问题,或者它是好的,我想确保我的数据库尽可能高效.
注意:我正在为user和user_profile使用单独的表,因为user_profile包含可能为null的字段,并且由于数据显示在公共配置文件中,因此将比用户表请求更多.
也许这也是不好的做法,他们应该被归为一张桌子?
Wes*_*orp 11
我发现这是一个很好的方法,如果你使用外键关系我会给予奖励积分,并且最好在从用户表中删除用户时级联.
由于在一个表中分离了核心用户数据,而在另一个表中分离了选项配置文件数据 - 很好的工作.没有什么比这更加令人烦恼的50场空龙值90%空值.
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |