MYSQL将数据从一个表插入到另一个表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL将数据从一个表插入到另一个表中相关的知识,希望对你有一定的参考价值。

我试图将一个表中的数据插入到另一个表中,但是他们必须使用相同的ID进行链接。

我使用以下代码:

INSERT INTO table1 (population_total, GDP_current_US, life_expectancy_at_birth) 
SELECT population_total, GDP_current_US, life_expectancy_at_birth 
FROM table2 
WHERE table1.id=table2.country_code

我收到以下错误:

#1054 - 'where子句'中的未知列'table1.id'

我究竟做错了什么?

答案

试试这个:

INSERT INTO table1 (id, population_total, GDP_current_US, life_expectancy_at_birth) 
SELECT country_code, population_total, GDP_current_US, life_expectancy_at_birth 
FROM table2 

这将从源表中提取国家/地区代码,并将其作为ID插入新表中。因此,它们将由相同的ID“链接”。

如果您尝试更新与国家/地区代码匹配的现有行,则需要执行以下操作:

UPDATE table1         
JOIN table2 
    ON table1.id = table2.country_code
SET 
    population_total = table2.population_total, 
    GDP_current_US = table2.GDP_current_US, 
    life_expectancy_at_birth = table2.life_expectancy_at_birth 

以上是关于MYSQL将数据从一个表插入到另一个表中的主要内容,如果未能解决你的问题,请参考以下文章

如何执行存储在 MySQL 中的将 ID 从一个表插入到另一个表的过程?

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

使用循环将数据从一个表插入到另一个表

DAO 函数将数据从一个表插入到另一个表

将行从一个链接表插入到另一个链接表

如何将存储在引用表中的引用值插入到另一个表中?