我正在尝试将不同的用户列表导入mysql数据库中的不同表。 样本表结构:
uid | uname |电子邮件|
任何表中的uid字段都不应包含重复值。实现这一目标的最简单方法是什么?有帮助吗?
答案 0 :(得分:1)
这听起来像是一个不正确的数据模型。这些记录很可能应该在一个表中,而不是很多。 (虽然可能存在您尚未分享的信息,证明您的方法合理,但我确实怀疑它。)
可以帮助您的一个想法是将标识符提取到公共父表中,其他表继承了#34;身份标识。例如,您可能有这样的父表:
BaseUser
--------
uid (int, PK)
etc.
然后其他类型的用户表可能如下所示:
DerivedUser
--------
uid (int, PK, FK to BaseUser.id)
etc.
如果所有"派生"表格将uid
列作为BaseUser
表格uid
列的外键,然后它们都会使用该集中式唯一强制执行。我相信这被称为" supertyping"表。从概念上讲,这是设计数据模型,使得一组不相关的记录的标识符与这些记录的详细信息分开(因此,起源于单独的表中) )。