Php 如果同一表的其他版本中不存在ID,则将行添加到表中

Php 如果同一表的其他版本中不存在ID,则将行添加到表中,php,sql,Php,Sql,我在谷歌上搜索了这个解决方案,但找不到(或者我不明白)正确的解决方案。 我有两张桌子,它们是一样的,但是在最新的版本中,有些行是松散的。 因此,我希望能够比较这两个表,并通过比较ID注入缺少的行。例如: 如果在表v1中有ID为12的行,而不在v2的表中,则将该行添加到v2表中 我写了一个php脚本,但我不能再深入了,我不明白如何同时比较这些值,也许我使用了一个糟糕的方法,以下是我的php代码: <?php function_db_connect(); $req_src =

我在谷歌上搜索了这个解决方案,但找不到(或者我不明白)正确的解决方案。 我有两张桌子,它们是一样的,但是在最新的版本中,有些行是松散的。 因此,我希望能够比较这两个表,并通过比较ID注入缺少的行。例如: 如果在表v1中有ID为12的行,而不在v2的表中,则将该行添加到v2表中

我写了一个php脚本,但我不能再深入了,我不明白如何同时比较这些值,也许我使用了一个糟糕的方法,以下是我的php代码:

<?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,如果一行的键已存在,则忽略该行并继续查询。

这很好,谢谢!这比我想象的要简单得多!