gpt4 book ai didi

php - 使用 PHP 从一个 SQL 数据库获取数据并将其插入到另一个数据库中

转载 作者:行者123 更新时间:2023-11-29 23:54:07 25 4
gpt4 key购买 nike

我需要帮助将数据从一个 MySQL 数据库插入另一个数据库。我正在从每晚更新的 MySQL 数据库中获取过去 90 天的数据。我试图将数据从一个表获取到另一个表时遇到麻烦。这是我到目前为止所拥有的。

<?php
$con= mysqli_connect("localhost","jeff","birdie15","kcoj");
if ($con->connect_errno) {
echo ("<br/> Failed to connect to MySQL:(".
$con->connect_errno .").".$con->connect_error);
}else{
echo ("Connected to database".KCOJ);
echo ("<br/> ".$con->host_info);
}

$d= date ($format, strtotime ('-90' .$date));

$code = mysqli_query($con,"INSERT INTO last90Days * SELECT * FROM drugCountsByCharge WHERE countyCode ='9999' AND date <= '$d'");

?>

我有 36 列需要查询然后插入,还有大量的行。任何和所有的帮助将不胜感激。

最佳答案

为了获得更好的性能,请尝试使用分组 SQL 语句,并避免获得太多结果并将所有可用内存加载到 mysql 中,通过交互只获取几行。

您可以首先计算源数据库中的行总数,然后将其分成 100.000 行的“ block ”,例如,在这 100.000 个寄存器中,您可以创建如下插入语句: 插入 your_table(field1,field2,field3,field4,....) 值 (值 1,值 2,值 3,值 4,......) ,(值1,值2,值3,值4,....) ,(值1,值2,值3,值4,....) ,(值1,值2,值3,值4,....) ,(值1,值2,值3,值4,....) ,(值1,值2,值3,值4,....) ...;

所以...首先您必须知道您拥有的总行数: 从 your_table 中选择 COUNT(1) 个总计;

之后,您可以估计每次迭代的行数:

for($i=0;$i<=$number_of_iteractions;$i++) {
$limit_start = $i * $rows_per_process; # to know where to start getting data
$limit_end = $rows_per_process;

$sql = "SELECT colunsx... FROM your_table LIMIT $limit_start,$limit_end";
$query = mysql_query($sql);

$data = array();
while($row = mysql_fetch_array($query)) {
# build your VALUES statement here
}
}

?>

构建分组 SQL 语句后,您可以提交事务。

只需根据您的需求进行调整即可,因为我没有测试任何内容。

关于php - 使用 PHP 从一个 SQL 数据库获取数据并将其插入到另一个数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25456082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com