【问题标题】:Best way to split a table in Parent-Child to avoid duplicated information in MySQL在父子中拆分表以避免 MySQL 中重复信息的最佳方法
【发布时间】:2014-05-24 21:42:23
【问题描述】:

在mysql中拆分位置表最简单的方法是什么?

当前表有: country_code, Country_name, state_code, state_name, city_code, city_name

我想把它分成三个表

国家表(父):国家代码、国家名称

状态表(子-父):country_code、state_code、state_name

城市表(子):state_code、city_code、city_name

是否可以在分别创建每个表及其外键后通过简单的查询来完成?

谢谢,

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您的结构与您将要获得的一样标准化。使用 city 表上的外键到 state_code,从 state 表到 country_code 上的国家表也是如此。

    当您查询表时,我们会根据需要在表之间进行内部连接,以获取州和国家/地区的数据。

    要从现有表中填充数据,请遍历表并将唯一国家/地区插入新的国家/地区表中,然后是唯一州,最后是城市的第三个查询。

    【讨论】:

      【解决方案2】:

      是的,您需要运行 3 个查询。首先创建表,然后按照这些思路做 3 次。只需确保只运行“SELECT”以查看您要添加的数据。

      INSERT INTO new_table (country_code, Country_name)
      SELECT country_code, Country_name
      FROM old_table
      GROUP BY country_code;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-10
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 2017-01-22
        相关资源
        最近更新 更多