代码之家  ›  专栏  ›  技术社区  ›  Alireza

php将larg表导入phpmyadmin数据库

  •  1
  • Alireza  · 技术社区  · 16 年前

    我无意中从数据库中删除了其中一个表。

    表的备份以.txt文件(56兆字节)的形式存储在我的电脑上。

    我试图通过PhpMyAdmin导入它,但导入失败,因为文件太大,无法导入。

    然后我将文件上传到/home/tablebk目录。我在php方面有一些经验。我知道我会用这个代码导入它,但是我不知道这个导入的sql语句。

    必须放什么 $line 变数?

    <?php
    
        $dbhost = 'localhost';          
    $dbuser = 'mysite';         
    $dbpw = 'password';         
    $dbname = 'databasename';
    
    $file = @fopen('country.txt', 'r');
    
    if ($file)
    {
        while (!feof($file))
        {
            $line = trim(fgets($file));
            $flag = mysql_query($line);
    
            if (isset($flag))
            {
                echo 'Insert Successfully<br />';
            }
    
            else
            {
                echo mysql_error() . '<br/>';
            }
    
            flush();
        }
    
        fclose($file);
    }
    
    echo '<br />End of File';
    
    ?>
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   mmattax    16 年前

    为什么不使用MySQL batch commands :

    shell> mysql db_name < text_file

        2
  •  0
  •   MvanGeest    16 年前

    BigDump 从而优雅、可靠地解决了这一问题。它基本上可以满足您的需要,但是有更多的安全机制和在文件中间重新启动的几种方法。而且,它有漂亮的进度指标,而且。。。哦,已经写好了,所以你不需要自己写剧本。不需要重新发明轮子。(我与BigDump或其开发人员没有任何关联。)