簡體   English   中英

PHP / MYSQL從一個表中插入多行,其中一個條件使用TRANSACTIONS

[英]PHP/MYSQL INSERT multiple rows FROM a TABLE WHERE one criteria using TRANSACTIONS

我必須根據一列值(即一個數字)將幾行從一張表移動到另一張表。

$order_code = '8888';
$conn->autocommit(false);

$sqlTranInsert = "SELECT * FROM shop_inventory WHERE item_order_code ='$order_code'";

if(!$resultTranInsert = $conn->query($sqlTranInsert)){
    echo 'Error '.$conn->error;
    $conn->close();
    exit;
}

while($row = $resultTranInsert->fetch_assoc()){
    $inve_id = $row['inve_id'];
    $sqlTranInsertItems = "INSERT INTO shop_inventory_archive SELECT * FROM shop_inventory WHERE inve_id = '$inve_id'";
    if(!$resultTranInsertItems = $conn->query($sqlTranInsertItems)){
        echo 'Error '.$conn->error;
        $conn->close();
        exit;
    }
}

$conn->commit();
$conn->close();
echo $msg;
exit;

我的問題是,這根本不起作用,我不確定WHILE循環,而且我肯定有問題。 謝謝你的幫助。

問候。

我們可以將所有列從一個表復制到另一個現有表:

INSERT INTO table2
SELECT * FROM table1;

或者,我們可以僅將要復制的列復制到另一個現有表中:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM