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

标签 mysql excel import

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

编号 |姓名
1 |卡拉奇
2 |海得拉巴

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

城市 |部门
卡拉奇 |詹谢德镇
卡拉奇 |高尔杉13-D
海得拉巴|萨法拉斯殖民地

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

最佳答案

老实说,我会将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

关于mysql - 在 MySQL 中导入子表时使用父表的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45826221/

相关文章:

mysql - 在 codeigniter 中使用 Where 和 Where 条件更新 SQL

excel - 根据单元格值在下面插入行

python - 如何将GitHub中的包(基于python)的不同分支导入到本地计算机?

python - 从 X 导入 Y 为 Z 的多行导入

excel - VBA Exp() 溢出

android - 导入包时出错

MySQL 查询子字符串和计数

mysql - 按子模型属性的乘积之和分组

mysql - SQL LIKE 是如何工作的

java - 如何在 Apache POI 中重用字体?