Php 如果同一表的其他版本中不存在ID,则将行添加到表中
我在谷歌上搜索了这个解决方案,但找不到(或者我不明白)正确的解决方案。 我有两张桌子,它们是一样的,但是在最新的版本中,有些行是松散的。 因此,我希望能够比较这两个表,并通过比较ID注入缺少的行。例如: 如果在表v1中有ID为12的行,而不在v2的表中,则将该行添加到v2表中 我写了一个php脚本,但我不能再深入了,我不明白如何同时比较这些值,也许我使用了一个糟糕的方法,以下是我的php代码:Php 如果同一表的其他版本中不存在ID,则将行添加到表中,php,sql,Php,Sql,我在谷歌上搜索了这个解决方案,但找不到(或者我不明白)正确的解决方案。 我有两张桌子,它们是一样的,但是在最新的版本中,有些行是松散的。 因此,我希望能够比较这两个表,并通过比较ID注入缺少的行。例如: 如果在表v1中有ID为12的行,而不在v2的表中,则将该行添加到v2表中 我写了一个php脚本,但我不能再深入了,我不明白如何同时比较这些值,也许我使用了一个糟糕的方法,以下是我的php代码: <?php function_db_connect(); $req_src =
<?php
function_db_connect();
$req_src = "SELECT * FROM `table_v1` ";
$req_ex_src=mysql_query($req_src) or die("Erreur: ".mysql_error());
$i =0;
while($row = mysql_fetch_array($req_ex_src)) {
$i = $i +1;
$rowID[$i] = $row['ID'];
}
mysqli_close();
$n = count($rowID);
for ($j=0;$j<=$n;$j++){
??????????????????????
}
您可以使用一个简单的mysql查询来实现这一点,除非需要考虑其他因素,否则无需使用php
要执行此操作,请使用插入忽略:
INSERT IGNORE INTO table_v2 (SELECT * FROM table_v1)
这将选择表_v1中的所有行,并尝试将它们插入表_v2,如果一行的键已存在,则忽略该行并继续查询。这很好,谢谢!这比我想象的要简单得多!