Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 读取长CSV文件并拆分为多个表_Php_Sql_Database_Csv - Fatal编程技术网

Php 读取长CSV文件并拆分为多个表

Php 读取长CSV文件并拆分为多个表,php,sql,database,csv,Php,Sql,Database,Csv,我已经建立了一个包含6个表的数据库,大约有175个字段。这些字段中大约有130个是从CSV上的数据填充的 目前,手持式设备导出此CSV,并将其读取到电子表格中,但它正在移动到数据库中。因此,在前端,当有人上传一个CSV时,它将填充数据库 问题: 我正试图找出最好的方法,将CSV逐行分解,并将特定信息放入特定表格中。可能吗?如果是,怎么做 我希望我可以查询为每个CSV字段创建一个标题,并将其映射到数据库字段(因为CSV的顺序始终相同) 在列示例中通过关联数组标记它 身份证、姓名、颜色 1,乔,红色

我已经建立了一个包含6个表的数据库,大约有175个字段。这些字段中大约有130个是从CSV上的数据填充的

目前,手持式设备导出此CSV,并将其读取到电子表格中,但它正在移动到数据库中。因此,在前端,当有人上传一个CSV时,它将填充数据库

问题:

我正试图找出最好的方法,将CSV逐行分解,并将特定信息放入特定表格中。可能吗?如果是,怎么做


我希望我可以查询为每个CSV字段创建一个
标题,并将其映射到数据库字段(因为CSV的顺序始终相同)

在列示例中通过关联数组标记它

身份证、姓名、颜色 1,乔,红色 2,妈,蓝色 3,j,黄色


获取一个数组中的第一行,因此只需通过索引比较循环中的值

我不认为这是RBAR问题。如果将文件按原样加载到单个暂存表中,则可以为每个表运行以下操作: 插入destTable(col1、col2) 选择col1,col2 从分期付款 其中col3=‘标准’


这样,你就可以把一切都安排好。当然,这取决于所涉及的记录数,但是逐行处理数据和TSQL通常不是很合适的。SSIS在这方面比TSQL做得好得多。

这是有道理的,但我忘记了一点。这些CSV将每天阅读,每天阅读10到30次。我们每个CSV有6张左右的表格,所有内容都被拆分。因此,基本上只需创建一个暂存表,每个CSV都将放在其中(所有字段),然后让查询将它们推送到活动表中?