将 CSV 转换为 MYSQL 文件
Posted
技术标签:
【中文标题】将 CSV 转换为 MYSQL 文件【英文标题】:Convert CSV into MYSQL file 【发布时间】:2018-01-29 14:57:04 【问题描述】:我已经从包含 24K 记录的 SQL SERVER 数据库中导出了 csv 文件。 我想将 csv 转换为 .sql 文件,我尝试过 phpmyadmin(超时错误)和在线转换器,但都失败了:
<b>Fatal error</b>: Allowed memory size of 67108864 bytes exhausted (tried to allocate 75 bytes) in <b>/mounted-storage/home85/sub007/sc60314-GZFW/typexpert.net/csv2sql/parsecsv.lib.php</b> on line <b>426</b><br />
什么是最好的选择?
注意:以前的帖子都没有解决我的问题。
这是我从 SSMS 导入插入脚本 .sql 后得到的结果屏幕:
我遇到了加载问题(超时)
【问题讨论】:
嗯?将 csv 转换为 .sql 是什么意思?你想在这里完成什么?您使用的是哪个 DBMS? mysql sql server 但我不相信这真的与 DBMS 有任何关系,因为它似乎是一个 PHP 问题。 我正在使用 MYSQL,我要转换的文件是我从 sql server 数据库获取的 csv 文件 绝对是还是绝对不是? 您可以在 SSMS 中使用脚本选项并生成 INSERT 脚本,而不是将数据保存为 csv 我很好奇您为什么使用 PhpMyAdmin 来执行此操作。我不会费心将 CSV 转换为插入语句。如果你想将 CSV 导入 MySQL,通常你会使用load data infile
。只要确保如果您需要 Unicode,它是 UTF-8 编码的,因为 SQL Server 往往更喜欢 UTF-16。此外,通常最好将数据导入您为此目的创建的临时表中。然后,您可以在将数据插入实时表之前验证数据是否正确。
【参考方案1】:
您的 PHP 脚本没有足够的内存可以使用。这取决于您的服务器和设置。如果您的服务器有足够的内存,您可以通过更改 phpmyadmin 文件夹中的设置轻松地为 phpmyadmin 添加更多内存。您可以使用不同的方法:
更改 htaccess(针对 apache):
php_value memory_limit 2G
更改 php:
ini_set('memory_limit', '2G');
更改 user.ini(针对 plesk 用户)
memory_limit = 2G
【讨论】:
这是最终答案吗?以上是关于将 CSV 转换为 MYSQL 文件的主要内容,如果未能解决你的问题,请参考以下文章