我有 2 个具有相同结构的独立数据库。我想将一组选定的行从一个表移动到另一个表。我正在使用 PDO 选择所有行,然后在 while 循环中我假设我可以将每一行插入到新表中,然后将其从旧表中删除。
对于普通的 mysql,这是一个非常简单的任务,但我想使用命名空间,以便我可以轻松地修改表结构等。我有以下工作,但它不会将条目移动到新表中:
try {
$sql = "SELECT * FROM `calls` WHERE `calls`.`status`=0 AND `calls`.`stage` < 4 AND `calls`.`answer` < (NOW() - INTERVAL 10 MINUTE)";
$query = $this->staging->query($sql);
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
$sql = "INSERT INTO `table` (`field1`,`field2`) VALUES (?,?)";
$query = $this->production->prepare($sql);
$query->execute($array);
}
}
catch(PDOException $e) {
$this->informer("FATAL", "Unable to process broken IVR surveys. Error: ".$e->getMessage());
}
最佳答案
你很快就可以做到:
INSERT INTO db1.table (fields) SELECT fields FROM db2.table
当然两个数据库必须在同一台机器上
关于php - PDO 将行从一个数据库移动到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11080193/