将行移动到另一个表并插入其他值

时间:2018-12-21 03:27:04

标签: php mysql

我目前正在将行从“ mycart”表移至“ itemorders”表。

$query = "INSERT into orders   
(email,address,postalcode,contactNo,orderdate,status) values
('".$email."','".$address."','".$postalcode."','".$contactNo."','".$orderdate."','".$status."');";   

$query .= "INSERT into itemorders (itemID,itemName,itemSize,itemPrice,quantity) SELECT itemID,itemName,itemSize,itemPrice,quantity FROM mycart WHERE email='".$email."' ";

$result = mysqli_multi_query($conn,$query);
$ordersID = mysqli_insert_id($conn);

当前,我在“ itemorders”表中有一个名为ordersID的附加字段,第一个查询还自动增加了ordersID。我想将在第一个查询中使用的$ ordersID值插入第二个查询中。我该怎么办?

1 个答案:

答案 0 :(得分:2)

在MySQL中使用LAST_INSERT_ID()函数。就像mysqli_insert_id()一样,它会获取最后的自动增量ID。

$query .= "INSERT into itemorders (itemID,itemName,itemSize,itemPrice,quantity,orderSID) 
    SELECT itemID,itemName,itemSize,itemPrice,quantity, LAST_INSERT_ID()
    FROM mycart 
    WHERE email='".$email."' ";