我想检索表A中添加的最后一行并将所有行插入表B.这两个表位于不同的数据库中。我的代码:
$db=new PDO('mysql:host=localhost;dbname=service','root','');
$db1=new PDO('mysql:host=localhost;dbname=service1','root','');
$req = $db->query('SELECT * FROM `service`.`myusers` WHERE ID NOT IN (SELECT ID FROM `service1`.`myusers`)');
$reqt = $req->fetch();
$count = $req->rowCount();
if($count){
$db1->query('SET NAMES UTF8');
$reqa=$db1->prepare('insert into myusers values(?,?,?,?,?,?)');
$db1->query('SET NAMES UTF8');
$reqa->bindParam(1,$reqt['ID']);
$reqa->bindParam(2,$reqt['Prénom']);
$reqa->bindParam(3,$reqt['LastName']);
$reqa->bindParam(4,$reqt['dateDebut']);
$reqa->bindParam(5,$reqt['identifient']);
$reqa->bindParam(6,$reqt['fid']);
$reqa->execute();
return true;
}else{
return false;
}
但是不起作用。
答案 0 :(得分:1)
数据库本身没有ORDER
行,因此如果您运行两次相同的查询,则可能会有不同的结果。
您需要包含ORDER BY <field> DESC
clausule和LIMIT 1
才能获得最后一条记录。
答案 1 :(得分:0)
也许您应该考虑使用复制。如果需要,您可以选择要复制的表格。