我试图将数据从一个表“虹吸”到另一个表。我遇到的问题是新表中的一些数据是静态的,其他数据是从现有表中复制的。让我首先展示我试图运行的查询:
INSERT INTO current_cart
(cart_ID,
cart_PO,
cart_user,
cart_date,
cart_qty,
cart_sku,
cart_description,
cart_price,
cart_linetotal)
VALUES
('$cartID',
'$poNumberNew',
'$email',
'$lineDate',
SELECT
orderdetail_qty,
orderdetail_sku,
orderdetail_description,
orderdetail_price,
orderdetail_linetotal
FROM orderdetail
WHERE orderdetail_custemail = $email AND orderdetail_po = $poNumber)
显然,所有PHP变量都是事先声明的。基本上我运行的是一个购物车。此查询将获取先前订单中的商品并将其输入新购物车,以便我们的客户可以根据之前的订单开始新订单。
我遇到的问题是当记录的某些数据是静态的(cartID,poNumberNew,email和lineDate)以及其他信息来自不同的表时,如何将记录插入表中?我希望我能做到这一点,而不创建一个循环来重复查询,但是客户复制的顺序中有很多项目......我认为这会严重影响我们的网站。
我在过去的许多其他网络开发问题上看到了无数令人敬畏的答案,我希望stackoverflow社区可以帮助我在这里......
谢谢!
答案 0 :(得分:2)
在SELECT语句中,您可以拥有一个返回常量的列。例如,
INSERT INTO current_cart
(cart_ID,
cart_PO,
cart_user,
cart_date,
cart_qty,
cart_sku,
cart_description,
cart_price,
cart_linetotal)
SELECT
'$cartID',
'$poNumberNew',
'$email',
'$lineDate',
orderdetail_qty,
orderdetail_sku,
orderdetail_description,
orderdetail_price,
orderdetail_linetotal
FROM orderdetail
WHERE orderdetail_custemail = $email AND orderdetail_po = $poNumber)