mysql - 如果其中一个字段尚未匹配,如何将一个表移动到另一个表

标签 mysql sql database database-table

我无法在数据库中移动内容。我有两个列名不同的表,同名的表是“zip”,但它们具有相同的数据。如果表 b 中不存在邮政编码,我想从表 A 移动到表 b。我正在使用 mysql 命令行。

最佳答案

使用 INSERT INTO....SELECT

INSERT INTO TableB(colName)
SELECT colName 
FROM    TableB b
        LEFT JOIN TableA a
            ON a.colName = b.colName
WHERE   a.colName IS NULL
如果 TableB 上不存在

TableA.colName 将为 NULL。只需将 colName 更改为表中的列名即可。

更新 1

INSERT INTO skadate_location_city
    (
        Feature_int_id,
        Admin1_str_code,    
        Country_str_code,
        Feature_dec_lat,    
        Feature_dec_lon,
        zip
    )
SELECT  
        a.city_id     AS Feature_int_id,
        a.state_id    AS Admin1_str_code, 
        a.country_id  AS Country_str_code,
        a.latitude    AS Feature_dec_lat,
        a.longitude   AS Feature_dec_lon,
        a.zip
FROM    skadate_location_zip a
        LEFT JOIN skadate_location_city b
            ON a.zip = b.zip
WHERE   b.zip IS NULL

关于mysql - 如果其中一个字段尚未匹配,如何将一个表移动到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765952/

相关文章:

php - 如何从数据库读取数据并写入http 流。 PHP 和 MySQL

sql - 比较不同记录之间的两个日期

mysql - 如果 ID 重复,则显示数据并更改值

MySQL - 使用多个具有相同模式的数据库而不是一个大型数据库

mysql:时间值的数据截断错误:函数

sql - 在数据库中实现审查标志;最佳实践

SQL:添加两个求和字段并将求和值与另一个字段值进行比较

mysql - MySQL首先执行什么: The `WHERE` clause or the `ORDER BY` clause?

sql select,获取应有工作的汽车

mysql - 如何使用不同表中另一列的值替换列中 JSON 值的键?