我更改了数据库的结构,需要将旧实例中的数据复制到新实例。由于表格的列已经改变,我不能简单地导出/导入数据。
我在移动数据方面取得了一些成功,但我现在遇到了以下问题。请考虑以下示例查询:
insert into gene_results (test_kit_id)
select id
from test_kits
where tag = xploreyou_db_copy.gene_results.tag;
我收到以下错误:Unknown column 'xploreyou_db_copy.gene_results.tag' in 'where clause'
我绝对肯定该列存在,并且我之前已成功使用此语法。我很困惑为什么这突然不起作用。我在Sequel Pro中写了我的查询。数据库位于同一服务器上。
答案 0 :(得分:1)
您需要加入该数据库
insert into gene_results (test_kit_id)
select t1.id
from test_kits as t1 inner join xploreyou_db_copy.gene_results as t2
on t1.tag = t2.tag;
答案 1 :(得分:1)
其中tag = xploreyou_db_copy.gene_results.tag;
使用连接而不是上述查询中的位置
INSERT INTO gene_results
(test_kit_id)
SELECT test_kits.id
FROM gene_results AS gene_results_1 INNER JOIN
test_kits ON gene_results_1.tag = test_kits.tag