使用 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