繁体   English   中英

如何合并这两个查询:从一个表复制并插入新数据

[英]How do I combine these two queries: Copying from one table and inserting new data

我目前正在运行两个查询,以便:

  1. 从表1复制数据并将其移至表2
  2. 向表2添加新数据

这些查询有效,但我想知道是否有更有效的方法将其合并为一个查询:

$insert_order = $db->query("INSERT INTO store_orders (CartID, OrderStatus, CustomerID, CartData, CartNumItems, CartCost, CartWeight, ShippingData, ShippingMethod, ShippingCost, OrderData, CustomerNotes, IP) SELECT CartID, OrderStatus, CustomerID, CartData, CartNumItems, CartCost, CartWeight, ShippingData, ShippingMethod, ShippingCost, OrderData, CustomerNotes, IP FROM store_carts WHERE CartID = '$cart_id' LIMIT 1");

$order_number = $db->insert_id;

$update_order = $db->query("UPDATE store_orders SET OrderStatus=3, Merchant='PayPal WPP', MerchantData='$MerchantData', Receipt='$receipt', Charged=1, ChargeAmount='$ChargeData[AMT]' WHERE ID = '$order_number' LIMIT 1");

您可以在SELECT查询中设置静态值,例如select '1', 'asd', 3, column from table

在单个命令中,插入将为:

$insert_order = $db->query("INSERT INTO store_orders (CartID, OrderStatus, Merchant, MerchantData, Receipt, Charged, ChargeAmount, CustomerID, CartData, CartNumItems, CartCost, CartWeight, ShippingData, ShippingMethod, ShippingCost, OrderData, CustomerNotes, IP) SELECT CartID, 3, 'PayPal WPP', '$MerchantData', '$receipt', 1, '$ChargeData[AMT]', CustomerID, CartData, CartNumItems, CartCost, CartWeight, ShippingData, ShippingMethod, ShippingCost, OrderData, CustomerNotes, IP FROM store_carts WHERE CartID = '$cart_id' LIMIT 1");

我不知道这是否行得通,但是您可以尝试在已知的地方使用静态值:

$insert_order = $db->query("INSERT INTO store_orders 
    (CartID, OrderStatus, Merchant, 
    MerchantData, Receipt, Charged, 
    ChargeAmount, CustomerID, CartData, 
    CartNumItems, CartCost, CartWeight, 
    ShippingData, ShippingMethod, ShippingCost, 
    OrderData, CustomerNotes, IP) 
SELECT 
    CartID, 3, 'PayPal WPP', 
    '$MerchantData','$receipt', 1, 
    '$ChargeData[AMT]', CustomerID, CartData, 
    CartNumItems, CartCost, CartWeight, 
    ShippingData, ShippingMethod, ShippingCost, 
    OrderData, CustomerNotes, IP 
    FROM store_carts 
    WHERE CartID = '$cart_id' LIMIT 1");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM