【发布时间】:2020-04-23 03:07:04
【问题描述】:
我基本上是在为我的三个表制作一个查找表,但它没有做我想要的。这 3 个表是通过加载 3 个不同的 csv 文件创建的。
我要做的是将这些表中的 ID 插入到查找表中。
这是我不断得到的:
---------------Lookuptable---------------
|lookup_ID|Table1_ID|Table2_ID|Table3_ID|
| 1 | 1 | | |
| 2 | 2 | | |
| 3 | 3 | | |
| | | 1 | |
| | | 2 | |
| | | 3 | |
| | | | 1 |
| | | | 2 |
| | | | 3 |
我需要的是:
---------------Lookuptable---------------
|lookup_ID|Table1_ID|Table2_ID|Table3_ID |
| 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 2 |
| 3 | 3 | 3 | 3 |
我有点明白为什么会发生这种情况,它每次都会在下面插入一行,像
这样的单个插入insert into Lookuptable(Table1_ID) select T1id from Table1;
and the others...
但我也尝试过嵌套的
insert into Lookuptable(Table1_ID, Table2_ID, Table3_ID)
select Table1.T1id, Table2.T2id, Table2.T2id from Table1, Table2, Table3;
但还是不行。事实上,这只是让 Mysql 服务器崩溃,并在 Postgres 上进行无休止的查询。我尝试了其他嵌套示例,但都没有成功。
我也在使用外键,当我手动输入一个新值时它会起作用,但由于其他表来自加载的 CSV 文件,我必须手动输入已经存在的值。
我真的不知道该怎么办。
【问题讨论】:
标签: mysql sql postgresql