Php Mysql将数据从一个表插入到另一个选定行

Php Mysql将数据从一个表插入到另一个选定行,php,mysql,sql,Php,Mysql,Sql,嗨,我有一个Mysql数据库,有两个表 第一个表有2个字段 国家代码和城市名称 第二个表有3个字段 国家代码、国家名称、国家城市 我需要创建一个查询: 从第一个表中选择所有城市名称和国家代码,并将每个国家代码插入第二个表中的“国家城市”字段 第一张表中的城市以逗号分隔 我不确定我是否可以使用Mysql查询,或者最好使用php脚本 感谢您的帮助您可以使用第一个表中的城市列表更新第二个表中的城市名称列。如果第一个表的城市名称已用逗号分隔,则只需将其从一个表移动到另一个表即可 UPDATE secon

嗨,我有一个Mysql数据库,有两个表 第一个表有2个字段

国家代码和城市名称

第二个表有3个字段

国家代码、国家名称、国家城市

我需要创建一个查询:

从第一个表中选择所有城市名称和国家代码,并将每个国家代码插入第二个表中的“国家城市”字段

第一张表中的城市以逗号分隔

我不确定我是否可以使用Mysql查询,或者最好使用php脚本
感谢您的帮助

您可以使用第一个表中的城市列表更新第二个表中的城市名称列。如果第一个表的城市名称已用逗号分隔,则只需将其从一个表移动到另一个表即可

UPDATE second_table 
SET S.country_cities = A.city_name
FROM first table A INNER JOIN second_table S 
ON A.country_code = S.country_code
如果需要更新第二个表格中的country\u cities,可以通过以下示例查询:

UPDATE second_table st
INNER JOIN (
    SELECT 
    country_code,
    GROUP_CONCAT(city_name) as grouped_cities
    FROM first_table
    GROUP BY country_code
) as tmp_table ON tmp_table.country_code = st.country_code
SET st.country_cities = tmp_table.grouped_cities;
您可以找到GROUP_CONCAT文档。 只是它的一个副本&过去,以避免关于分隔符的混淆:

组中值之间的默认分隔符为逗号“,”。到 显式指定分隔符,使用后跟字符串的分隔符 应在组值之间插入的文字值。到 完全消除分隔符,指定分隔符


第二个表是否要在城市中使用逗号分隔的值?但是第二个表是否已经使用国家代码和国家名称进行了POPOPOLITED?第一个表中的城市用逗号分隔是什么意思?感谢Giulio,它可以工作,但它不会在第二个表的国家城市中插入所有城市名称,但只有一个子集可能无法理解为什么因为第二个表格只包含国家/地区代码的子集