【问题标题】:Replacing data of one table using another table in Mysql用Mysql中的另一个表替换一个表的数据
【发布时间】:2016-05-28 20:59:25
【问题描述】:

我有两个表如下。

表格:城市

city_id city_name state_id 1 卡查尔 1 2 达朗 1 3 尼古巴 1

表 2:地区

密码 地址 城市 110020 洛尼尼科巴 110021 德布鲁卡查尔 110024 罗加卡查尔 110023 akura 尼科巴

在表城市中,我有 1430 行,包含印度的不同城市。 并且在表位置每个城市包含近 100 个密码。

我想做什么? : 我想用表中对应的city_id替换表中的每个城市(列):地方:城市。

问题:我该怎么做?有什么快速的方法吗?我不想使用任何编程语言,即 php 或 java。是否有任何程序,在 Mysql 中循环?

结果应如下所示:

表 2:地区

密码 地址 城市 110020 洛尼 3 110021 德布鲁 1 110024 罗格 1 110023 小仓 3

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    你可以试试这个。

    UPDATE locality JOIN city ON locality.City = city.city_name SET locality.City = city.city_id
    

    【讨论】:

      【解决方案2】:

      您可以按照以下步骤操作:

      • 在位置表中添加一个整数类型的临时列。

        ALTER TABLE locality ADD temp_column INT;

      • 运行以下查询以更新对应的城市 id 位置表。

        UPDATE locality INNER JOIN city ON city.city_name = locality.city SET locality.temp_column = city.city_id;

      • 删除位置表中的城市列。

        ALTER TABLE locality DROP COLUMN city;

      • 现在将临时列的列重命名为“城市”

        ALTER TABLE locality CHANGE COLUMN temp_column city INT(11) NOT NULL;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-19
        • 2022-08-19
        • 1970-01-01
        • 1970-01-01
        • 2016-01-01
        • 2014-09-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多