【发布时间】:2020-10-30 22:27:18
【问题描述】:
我知道这个问题一定有答案,但我似乎无法将搜索词正确地放在一起。
假设我有一个现有的表 'foo'
foo
| id | data1 | data2 | ... |
----------------------------
|1 | abc | def | ghi |
|2 | abc | def | ghi |
...
我想创建一个新表 bar,它与 foo 具有 1 对 1 的关系,其中 foo 获取一个名为 barId 的新外键列,并且 foo 的每个条目都必须有一个相关的 barID,因此最终结果如下所示:
foo
| id | data1 | data2 | ... | barID |
------------------------------------
|1 | abc | def | ghi | 1 |
|2 | abc | def | ghi | 2 |
...
bar
| id | dataA | dataB |
----------------------
| 1. | null | null |
| 2. | null | null |
我遇到的问题是,在定义 bar 之后,我无法为 foo 的每个条目创建一行,然后为每个新创建的 bar 记录设置 foo.barId。
如果我用程序语言来做这件事,我会写类似下面的伪代码
createTable(bar);
foo.createColumn("barId");
for each (entry in foo) {
barEntry = bar.createNewEntry();
entry.setBarId(barEntry.ID);
}
如何使用 MySQL 实现这个目标?
【问题讨论】:
-
您遇到了什么麻烦?有什么错误吗?您可以添加有关如何尝试创建行的详细信息吗?
-
我什么都不懂。空值表有什么用?也许如果这个例子不那么抽象?
-
我只是不知道该怎么做。我将如何在 bar 中为每个现有的 foo 条目创建一个条目?我使用 null 是因为表中的实际数据无关紧要。对我来说重要的是 foo 和 bar 之间存在链接,并且 bar 中的每个 foo 条目都有一个条目。
标签: mysql