有几百个数据库,同时有几百个.sql文件,每个sql文件对应一个数据库,sql文件名就是数据名。问题是,这备份的几百个sql 文件要怎么一一对应的恢复到数据库里面呢?php代码怎么编写。。望高人指教。

解决方案 »

  1.   

    遍历目录将所有sql文件名读取
    然后循环操作文件名列表
      

  2.   

    <?php
    $arr = array();
    //获取数据库,文件
    foreach (glob(dirname(__FILE__)."/sql/*.sql") as $filename) {
        $arr[] = array('file'=> $filename ,'database'=>basename($filename,".sql"));
    }
    //遍历导入。
    foreach(...)
    {
       //http://www.cnfos.com/?p=543
    }大致这样,可以尝试一下。
    可能有第三方sql管理工具支持这种批量导入
      

  3.   

    劳你费神在每个 sql 文件开始处加上
    use 数据库名;然后命令行导入或批处理导入即可,不必劳烦 php
      

  4.   

    1、sql server先BCP出来
    2、load data local infile "E:/data/zp_account_change.txt" into table zp_account_change  fields terminated by ',' lines terminated by '\r\n'
    杠杆的
      

  5.   

    三楼方法不错,用c++读写文件,给每一个sal文件加一个头,然后就ok了~~