gpt4 book ai didi

php - 直接在 MySQL 中将多行从一个表复制到另一个表?

转载 作者:行者123 更新时间:2023-11-29 01:23:30 26 4
gpt4 key购买 nike

我试图将值直接从一个 mysql 表复制到另一个...但问题是,有很多行要复制,因此子选择语句将返回很多行,但参数 :order_id 只写一次。

鉴于这个问题,我无法弄清楚如何编写这个过程:

# 1: Create new Order & Copy the cart basket to the Order basket
$order_id = addOrder($customer_id);
if ($order_id > -1) {
$sql = "INSERT INTO tbl_order_basket(order_id, product_id, product_name,
basket_qty, basket_price, subtotal)
VALUES (:order_id, (SELECT (cart.product_id, product.name,
cart.cart_qty, cart.cart_price, cart.subtotal)
FROM tbl_shopping_cart AS cart
INNER JOIN tbl_product AS product
ON cart.product_id = product.id
WHERE cart.php_sesskey = :session_id)
)
WHERE order_id=:order_id;";
}

这是我要复制的数据:

ORDER BASKET            CART BASKET         PRODUCTS
FK order_id FK php_sesskey
FK product_id <-- FK product_id === PK id
product_name <-- <-- name
basket_qty <-- cart_qty
basket_price <-- cart_price # <-- : copy to
subtotal <-- subtotal # === : join on

我应该怎么做?

注意:我使用的是 PHP 5 和 MySQL 5.5

最佳答案

也许你可以使用这个?

INSERT INTO ... SELECT ... FROM ... WHERE ...

要创建查询,首先创建一个 SELECT它为您提供了所有要插入的字段。然后添加 INSERT INTO <table>大功告成。

关于php - 直接在 MySQL 中将多行从一个表复制到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com