使用 SQL 查询在数据库之间传输数据
Data Transfer Between Databases Using SQL Queries
我更改了数据库的结构,需要将数据从旧实例复制到新实例。由于表格的列已被更改,我不能简单地 export/import 数据。
我在移动数据方面取得了一些成功,但我现在遇到了以下问题。考虑这个示例查询:
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 中编写查询。数据库位于同一台服务器上。
您需要加入该数据库
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;
where tag = xploreyou_db_copy.gene_results.tag;
在上面的查询中使用 join 而不是 where
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
我更改了数据库的结构,需要将数据从旧实例复制到新实例。由于表格的列已被更改,我不能简单地 export/import 数据。
我在移动数据方面取得了一些成功,但我现在遇到了以下问题。考虑这个示例查询:
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 中编写查询。数据库位于同一台服务器上。
您需要加入该数据库
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;
where tag = xploreyou_db_copy.gene_results.tag;
在上面的查询中使用 join 而不是 where
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