是否可以从我的MySQL数据库中的一个表中的行中获取值并插入到同一数据库中的另一个表中?

Bjo*_*orn 3 mysql sql

所以说我有一个products包含产品列表的表,其中一个字段是price.该表还有一个id字段.当有人购买时,我将一行插入另一个名为的表中purchases.该表还有一个名为field 的字段price和一个productid映射到products表id字段的字段.我想知道我是否可以从我的产品表中获取价格并将其插入到购买表中的所有SQL查询中.

这在MySQL中可行吗?

谢谢!

cha*_*aos 10

当然.在我的正常练习中,我只是将价格作为插入的一部分发送,但是如果你真的需要在那时从产品表中提取它,你可以使用子选择来完成它,例如:

INSERT INTO `purchase`
SET `product_id` = $whatever,
`price` = (
    SELECT `price`
    FROM `product`
    WHERE `id` = $whatever
)
Run Code Online (Sandbox Code Playgroud)


Cad*_*oux 5

INSERT INTO purchases (
    price
    ,productid
    ,add your other columns here
)
SELECT price
    ,id
    ,add your other columns here
FROM products
WHERE add your selection criteria here
Run Code Online (Sandbox Code Playgroud)