在MySQL中导入子表时,使用父表中的id

时间:2017-08-22 20:12:23

标签: mysql excel import

我有一个父表City,它在我的数据库中有两列id和name,通过'.csv'文件上传,格式如下:

id |命名
1 |卡拉奇
2 |海德拉巴

我有另一个Excel文件,其中包含以下格式的数据:

城市|行业
卡拉奇|贾姆谢德镇
卡拉奇|高尔杉13-D
海得拉巴| Sarfaraz Colony

我想导入Sectors的数据,但是要从city表中导入city_id,sector,而不是城市名称。如何从父表中获取id。 (由于数据在几个文件中有数千个,我不喜欢在Excel中编写公式)

1 个答案:

答案 0 :(得分:0)

说实话,我会将city表格导入Excel,然后使用vlookup()功能映射城市' id到扇区并在那之后将扇区导入mysql。

另一个解决方案是在mysql中创建另一个表,其中包含城市名称和扇区作为字段,并将扇区数据集导入该表。您可以使用insert ... select ...语句使用城市ID和扇区填充原始扇区表:

insert into sector (city_id, sector)
select id, sector from city
    inner join sector_with_c_name s2 on city.name=s2.city