mysql - MySQL - 导入没有主键的数据
问题描述
我正在开发一个在我的部门内使用的应用程序。该应用程序需要访问我公司提供的人员列表。
不过,这有点乱,因为我的公司没有维护非常干净的数据,而且这种情况无法改变。为简洁起见,我将在此处使用示例表名称等。
以下是我如何将这些数据导入数据库的当前工作流程:
- 我从公司收到 Excel (XLSX) 格式的月度报告。
- 将报告转换为 CSV。
- 从当前
[people]
表中删除所有项目 - 将 CSV 数据导入
[people]
表中
由于以下几个因素,我无法将此过程更改为简单的 UPDATE 或 INSERT 语句:
- 我收到的报告中有很多重复数据
- 每个
person
都可以在报告中多次列出,每列中的数据略有不同(即:它们可能有多个条目,person
但每行具有不同的地址)。 - 我的公司使用两个“ID”来识别
person
,但他们回收了这些 ID。例如,如果某个人从他们的记录中删除,他们可能会获取该人的 ID 并将其分配给新的人。
在不使整行成为 PK 的情况下,有没有办法挽救这种情况以创建一个可以从另一个准确引用的真实表?
解决方案
推荐阅读
- r - R方法提取像素数据
- sql-server - 将文本文件导入 SSMS - 停止将日期时间字段拆分为 2 列
- sql - 使用 Simba ODBC 驱动程序从 AWS Athena 查询特定十进制值失败
- bash - 使用 bash 从根据请求生成文件的链接下载 tsv 文件
- oracle - Web 源模块 POST 请求 Oracle APEX 的问题
- c - C语言中的Havel-Hakimi算法
- mysql - 对远程数据库 mariadb 的查询比在同一台服务器上的查询要慢
- .net - 在 .net 核心中使用 dapper 进行递归查询
- angular - Angular 13 和 Bootstrap 5 | 添加路由时 UI 消失
- mysql - Nodejs mysql使用列名作为变量