2016-04-07 6 views
0

Ich muss mehrere Zeilen von einer Tabelle in eine andere Tabelle abhängig von einer Spalte Wert, der eine Zahl ist.PHP/MySQL-INSERT mehrere Zeilen aus einer Tabelle, wo ein Kriterium mit 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; 

Mein Problem ist, dass diese nicht überhaupt arbeiten, und ich bin über die While-Schleife nicht sicher, und ich bin sicher, dass es das Problem ist. Danke für jede Hilfe.

Grüße.

+0

Wo Sie tun Führe die insert-Anweisung in der while-Schleife aus? Sie vermissen den $ conn-> Query Call –

+0

Ja, mein Fehler, als ich meinen Code eingefügt habe. Ich habe die Frage aktualisiert. – Diego

+0

Erhalten Sie einen Fehler von der Echozeile nach dem Einfügen in die Schleife? –

Antwort

0

Wir können alle Spalten aus einer Tabelle in eine andere kopieren, vorhandene Tabelle:

INSERT INTO table2 
SELECT * FROM table1; 

Oder wir können nur die Spalten kopieren wir in ein anderes wollen, vorhandene Tabelle:

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

Danke für Ihre Hilfe. Ich muss nicht die ganze Tabelle oder eine bestimmte Spalte in eine andere Tabelle einfügen, Ich muss in eine Tabelle 1 mehrere Zeilen aus einer Tabelle 2 einfügen, abhängig von einem Spaltenwert, der in mehreren Zeilen gleich ist. – Diego

Verwandte Themen