gpt4 book ai didi

php - 在 mysql 和 Codeigniter 中将值从一个数据库移动到另一个数据库

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

我有一个非常大的日志表,我想在特定日期之间移动行,将它们放入其他数据库上的相同表结构中。我不想复制所有内容,只想复制特定的日期行,以便主数据库上的表保持较小。因此,我必须选择我想要的数据,然后仅移动(和删除)该数据。

请记住,有大量数据,我不想使用 mysqldump 复制所有数据。我想创建一个 php 文件或函数,我将添加一个 crone 作业,该作业将在几天后运行,并将所有特定数据从主数据库移动到其他数据库。

最佳答案

使用这样的东西:

$sql = $db->query("SELECT * FROM old_table LIMIT 100");
while($row = $sql->fetch_assoc()){
$values = "";
foreach($row as $v)
$values .= "'" . $db->real_escape_string($v) . "', ";
$values = rtrim($values, ", ");

$db->query("INSERT INTO new_table (" . implode(",", array_keys($row) . ") VALUES ($values)");
$db->query("DELETE FROM old_table WHERE `ID` = {$row->ID} LIMIT 1");
}
<小时/>

对于两个数据库,请改用:

$db = new MySQLi("hostname", "user", "password", "database");
$db2 = new MySQLi("hostname", "user", "password", "database");

$sql = $db->query("SELECT * FROM old_table LIMIT 100");
while($row = $sql->fetch_assoc()){
$values = "";
foreach($row as $v)
$values .= "'" . $db->real_escape_string($v) . "', ";
$values = rtrim($values, ", ");

$db2->query("INSERT INTO new_table (" . implode(",", array_keys($row) . ") VALUES ($values)");
$db->query("DELETE FROM old_table WHERE `ID` = {$row->ID} LIMIT 1");
}

关于php - 在 mysql 和 Codeigniter 中将值从一个数据库移动到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551228/

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