【发布时间】:2017-06-23 07:21:25
【问题描述】:
我希望创建一个脚本来上传 CSV 文件或 xls 并插入到数据库中。到现在为止我已经成功了,但是我想
ID CODE CAP1 CAP2 CAP3
1 AA 50 60 70
2 BB 80 90 100
3 AA 120 130
我想做的是将它插入到 mysql 表 tbl_dimensions 中,如下所示:
RECID DRAFT_IMPORT CODE ID HEADER VALUE
1 XXXXX AA 1 CAP1 50
2 XXXXX AA 1 CAP2 60
3 XXXXX AA 1 CAP3 70
4 XXXXX BB 2 CAP1 80
5 XXXXX BB 2 CAP2 90
6 XXXXX BB 2 CAP3 100
7 XXXXX AA 3 CAP1 NULL/0
8 XXXXX AA 3 CAP2 120
9 XXXXX AA 3 CAP3 130
基本上不是在 SQL 中创建一个宽表,而是想在表中创建一个列表,但我需要保留项目代码、AA、BB 等。可能多次使用相同的代码,所以我想使用来自 CSV/XLS 的第 nr 行来协调来自 CAP1、CAP2、CAP3 的值。 Cap1,2 3,可以是任何东西,而且每天都在变化,所以我无法为每个将要发生的选项定义足够宽的表格。
非常感谢
【问题讨论】:
-
你标记了 php ,但没有 php 代码也显示你做了什么
-
对于 Excel 用户来说似乎是一个很好的数据模型,但您应该考虑在其中存储
CODE和ID的附加表,然后您只需要在tbl_dimensions中的ID并获取CODE加入ID。现在您需要阅读CSV的每一行,并在每个CAP中插入ID和HEADER和VALUE,完成后转到下一行。 -
嗨,迈克,谢谢。我已经设法构建了一个导入脚本,其中包含所有列,问题是您从一个客户转到另一个客户,并且每个客户都有不同的表结构,所以我需要以这种方式记录它们。这也是你的一个很好的建议,但仍然不知道如何转到每个标题,完成后转到下一行。我宁愿只有一张桌子记录所有内容。