Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从旧数据库结构中获取数据、用php修复数据并上传到新模式的最佳方法_Php_Mysqli - Fatal编程技术网

从旧数据库结构中获取数据、用php修复数据并上传到新模式的最佳方法

从旧数据库结构中获取数据、用php修复数据并上传到新模式的最佳方法,php,mysqli,Php,Mysqli,我们为旧应用程序创建了一个新的db模式,该应用程序当前在一个包含多个列的表中有4375987行。我必须将旧数据迁移到新的db模式,该模式将从一个表中获取数据,并将插入多个db表中。 我需要知道最好的方法。我应该直接用PHP或其他解决方案编写脚本。旧数据库有非常大的数据 请导游,谢谢 使用函数将行拆分。然后获取返回结果的每一部分并进行插入: 看 因此,您现在可以获取该数据并为每个表进行插入。希望这能让你走起来!:-) 最好的方法是写一些东西,看看它是否有效。你只需要做一次,只要它工作,谁在乎它是超

我们为旧应用程序创建了一个新的db模式,该应用程序当前在一个包含多个列的表中有4375987行。我必须将旧数据迁移到新的db模式,该模式将从一个表中获取数据,并将插入多个db表中。 我需要知道最好的方法。我应该直接用PHP或其他解决方案编写脚本。旧数据库有非常大的数据


请导游,谢谢

使用函数将行拆分。然后获取返回结果的每一部分并进行插入:


因此,您现在可以获取该数据并为每个表进行插入。希望这能让你走起来!:-)

最好的方法是写一些东西,看看它是否有效。你只需要做一次,只要它工作,谁在乎它是超级光滑还是抛光。或者你真的是在说,我不知道怎么做,你能为我做吗?不,不必一次又一次地做。必须与团队核实数据。我不想挂起我的生产服务器。我想要一个最好的解决方案。为什么在生产服务器上进行一个简单的查询会导致任何问题呢?考虑到您的声誉,您应该更清楚,而不是问一个基于意见、未经研究、示例和尝试的问题。请提供代码,您尝试了什么,出了什么问题,您期望得到什么?我假设您定期备份live数据库。将有问题的表恢复到新数据库并在新数据库上执行所有转换如何。这样你就不用看实时数据库了
<?php

$old = [
    'name' => 'Dave',
    'dob' => '1970-01-01',
    'blah' => 'blah',
];

function convertRow($row) 
{
    $new = [
      'table1' => [
        'name' => $row['name'],
        'dob' => $row['dob'],
        ],  
      'table2' => [
           'blah' => $row['blah'],   
       ],
    ];
    return $new;
}

$data = convertRow($old);

// Now do your inserts
$firstTableData = $data['table1'];
$secondTableData = $data['table2'];

var_dump($firstTableData, $secondTableData);
array(2) { ["name"]=> string(4) "Dave" ["dob"]=> string(10) "1970-01-01" } 

array(1) { ["blah"]=> string(4) "blah" }