thinkphp5 mysql蠕虫复制

thinkphp5 mysql蠕虫复制php

须要先定义常量 PREFIX 表前缀mysql

/**
 * 蠕虫复制
 * @param $table_name string 表名(不含表前缀)
 * @param array $del array 不须要入库的字段
 */
function worm($table_name,$del=[]){

    $sql = 'desc '.PREFIX.$table_name;

    $resule = DB::query($sql);

    if(empty($resule))
    {
        echo '批量生成数据失败';die;
    }

    $fields = array_column($resule,'Field');

    if(!empty($del))
    {
        array_diff($fields,$del);
    }
    else
    {
        // 去掉id unset
        array_shift($fields);
    }

    $field_str = implode('`,`',$fields);

    $field_str = '`'.$field_str.'`';

    $sql = 'insert into '.PREFIX.$table_name.'('.$field_str.') select '.$field_str.' from '.PREFIX.$table_name;

    $resule = DB::query($sql);

    var_export($resule);die;
}
相关文章
相关标签/搜索