[英]Add row in to a table if ID does not exist in other version of the same table
我在Google中搜索了解決方案,但找不到(或我不明白)正確的解決方案。 我有兩個表,它們是相同的,但是在最新版本中,有些行是松散的。 因此,我希望能夠比較這兩個表並通過比較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++){
??????????????????????
}
我得到了數組中的所有ID,我的想法是將此值與for循環中的v2表進行比較。
這就是我所做的一切,我有些困惑……您認為還有另一種方法比這更好嗎?
您可以使用簡單的mysql查詢來執行此操作,除非需要考慮其他因素,否則無需使用php
為此,請使用插入忽略:
INSERT IGNORE INTO table_v2 (SELECT * FROM table_v1)
這將選擇table_v1中的所有行,並嘗試將它們插入到table_v2中,如果某行的鍵已經存在,則該行將被忽略並且查詢將繼續進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.