php - 具有自动增量的遗产

标签 php mysql wamp auto-indent

我想创建3个表:boss和employe继承表person。

人员: ID、登录名、密码;
老板: ID、登录名、mdp、名字、姓氏、电子邮件;
员工: ID、登录名、mdp、名字、姓氏、电子邮件;

我将这两类人分开以控制权利。

但我想保留一个包含所有用户的表来管理连接。

问题是三个 ID 中的自动缩进。当我创建“boss”类型的成员时,boss 和“person”表中的 id 自动识别为 1。当我创建员工类型的新成员时,id(“employe”中为 1,“employe”中为 2) personn”因为第一个是老板)不一样。

我如何对其进行建模?

感谢并抱歉我的英语不好,弗洛里安。

最佳答案

您存储了很多重复数据。考虑这个替代方案:

person
------
id
login
password
firstname
lastname
email

boss
----
id
person_id

employee
--------
id
person_id

我可以使用此结构存储与您在结构中完全相同的信息,但每个“人”只有一个名字/姓氏、电子邮件地址、登录名和密码。您应该只在老板/员工表中存储仅与该实体相关的信息。例如,老板可能有 security_code 字段,而普通员工则没有。

您不应该尝试在两个不同的表之间保留 id 主键来匹配(即,老板 id 不需要匹配人员 id)。相反,添加 person_id 外键,这样如果您有老板记录,您就可以轻松地在 person 表中查找他们的信息。

关于php - 具有自动增量的遗产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119469/

相关文章:

apache - 将 WampServer3 配置为通过端口 443 与 AWS Certificate Manager、Application Load Balancer 一起使用

php - 将数组元素添加到从 sql 查询返回的行

PHP、正则表达式和大小写

php - 向 WordPress 帖子添加一个字段

mysql - 将总和转换为百分比

mysql - 在 MySQL 中存储用户的 "favorites"的最佳方式

php - 如何使用 php 跟踪相关 View

mysql - 将 varchar 转换为 datetime 类型

当我输入 ENTER 后,WAMP 服务器的 mysql 控制台消失了

php - MySQL 返回结果的时间太长