我有一个需要导入 MySQL 的 csv 文件。
最初,我使用 MySQL 的内置“LOAD DATA LOCAL INFILE”语句来导入 CSV 文件。由于某些充分的原因,我们的服务器上禁用了此语句的使用。原因
由于我对此事的研究和发展使我得出了具体的结论,即如果不更改为my.cnf ,就无法克服这种情况。我当然不想碰。
研究
- LOAD DATA LOCAL 的安全问题
- 启用 LOAD DATA LOCAL INFILE
- 不允许“加载数据本地 infile”命令
- LOAD DATA LOCAL INFILE 失败 - 从 php 到 mysql(在 Amazon rds 上)
因此,我决定在 PHP 中解析 CSV 并进行批量插入(一个插入语句中的多行)。
我计划保持打开两个选项以将 csv 文件导入 MySQL,因此 PHP 代码最初将尝试选项 (a),如果不可能,则仅继续选项 (b),因为我的代码在多个服务器上运行,每个MySQL 数据库有不同的设置。
因为“a”总是比“b”快(没有假设)。
那么有没有办法检查 MySQL 服务器上是否启用了 LOAD DATA LOCAL INFILE。
一个。加载数据本地文件
湾。CSV 批量插入(通过循环)。