Php 将非常大的文本(不是CSV)文件导入MySQL

Php 将非常大的文本(不是CSV)文件导入MySQL,php,mysql,text,import,phpmyadmin,Php,Mysql,Text,Import,Phpmyadmin,我有一个>3GB.txt文件,文本以句子的形式出现,每个句子都有一行。我还有一个非常简单的MySQL表,其结构如下: tblcontext si_no => INT(11); unsigned; autoincrement context => VARCHAR(190); unique; fulltext 从txt源,文本的每一行(即句子)都需要进入tblcontext,作为上下文字段的新值。我可以简单地使用PHPMyAdmin中内置的导入功能来导入文件,但我的源文件不是csv文件

我有一个>3GB.txt文件,文本以句子的形式出现,每个句子都有一行。我还有一个非常简单的MySQL表,其结构如下:

tblcontext

si_no => INT(11); unsigned; autoincrement
context => VARCHAR(190); unique; fulltext
从txt源,文本的每一行(即句子)都需要进入tblcontext,作为上下文字段的新值。我可以简单地使用PHPMyAdmin中内置的导入功能来导入文件,但我的源文件不是csv文件。我无法将txt转换为csv,因为每个句子都可能有内联逗号和其他标点符号,它们可能会将每一行分割成多行,从而打乱我的输入。有没有办法将一个普通的txt文件导入表中,告诉PHPMyAdmin将换行符而不是逗号作为分隔符

我考虑过使用PHP来实现这一点,但由于源文件太大,所以在执行实际导入之前,我测试了一个简单的读取。以下是我的尝试:

$handle = fopen("en.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) { echo $line; }
    fclose($handle);
} else { echo 'could not import'; }

但是上面简单的阅读冻结了我的电脑!我确信使用PHP进行插入会更慢,这就是为什么我正在寻找某种方法来使用PHPMyAdmin的导入函数,希望它能更快。有问题的文本文件中大约有50万行。

如何加载数据填充?它拒绝工作,说“您可能试图上载一个太大的文件。”PHPMyAdmin有一个限制,您可以更改,但我不知道如果您提前使用mysql终端会有一个限制,似乎有2GB的限制,请参阅