gpt4 book ai didi

mysql - 数据库引用表中的列?

转载 作者:行者123 更新时间:2023-11-29 12:15:23 25 4
gpt4 key购买 nike

我确信我想做的是基本练习,但我找不到解决方案。我搜索了外键,但我认为这不是我需要的。

我想要的行为:我有一个应用程序,其中有一个“位置”选项卡和一个“联系人”选项卡。该数据将从数据库中提取。信息将填写在cms中。用户可以为联系人选择两件事:从位置选择现有联系人(提取姓名+邮件)或创建一个新联系人。然后,在我的文件中,我从联系人表中提取数据,并仅显示选择元素中的行。(请参阅下面的简短示例)。

因此,在我的联系人表中,我需要有两件事:对位置表中的姓名 + 邮件的引用或新记录(自定义邮件 + 姓名)

我有两个表:

+-------------------+
| LOCATION |
+-------------------+
| primary |
| name |
| zip |
| mail |
| ... |
+-------------------+

+-------------------+
| CONTACT |
+-------------------+
| primary |
| (lid) |
| name |
| mail |
+-------------------+

位置和联系人之间的关系是一对一/无关系。因此可能存在没有联系人的位置。

联系人可以是两件事:对位置的引用(然后从那里提取姓名+邮件),以便当用户更新位置时,联系人将自动更新,或创建“自定义”联系人。

例如:

用户创建位置:名称“Test”邮件“test@mail.com”

用户选择“测试”来创建新联系人,该联系人:从位置表中提取“测试”和“test@mail.com”作为姓名和邮件(位置更新时也会更新它)

用户创建联系人:姓名“自定义”邮件“custom@mail.com”

然后我有一个联系人表单,它从联系人表中提取数据,以便显示:

<select>
<option>Test</option>
<option>Custom</option>
</select>

我怎样才能实现这个目标?如果我只需要其中一个示例,我知道解决方案。例如,创建一个用户可以插入自定义数据的表很容易。但是如何将“自定义”和“关系”功能结合起来呢?

提前致谢!

最佳答案

您是否考虑过规范化数据库,以便将联系人存储在联系人表中,并将对联系人记录的引用保存在位置表中。

+-------------------+
| LOCATION |
+-------------------+
| id |
| contact_id |
| zip |
| ... |
+-------------------+

+-------------------+
| CONTACT |
+-------------------+
| id |
| name |
| mail |
+-------------------+

修改位置时,如果用户选择现有联系人,则可以将 id 存储在 contact_id 中。如果他们要添加新联系人,则让应用程序首先保存新联系人,然后使用这个新创建的联系人的 ID

关于mysql - 数据库引用表中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com