插入id从SQL中的不同表中检索数据

时间:2017-02-20 15:21:31

标签: sql insert

我有一个表A与客户和表P与产品。

我还有一张表C,代表客户购买的产品。

表格字段如下:

A(客户)

user_id
Name
Surname

P(产品)

product_id
price
product name

C(购买的产品)

id
product_id
user_id
quantity 
date

C是A和P之间的多对多链接。

假设今天的客户名为" Bob Wright"已经买了一种名为" Beautiful_magazine"的产品。假设客户和产品都已存在于数据库中。

如何在C表中输入?

我知道我应该使用insert into select语句但是我很难面对,因为我应该检索用户id表单A和产品id表单P然后将它们放入C中的新行以及NOW函数()和表示价格的数值。 我做不到,因为我是新手。

任何提示?

EDIT 我想在不依赖软件的情况下使用INSERT语句手动创建它。

假设:

user_id:890 姓名:鲍勃 姓:赖特

product_id:4897 价格:5.90 product_name:Beautiful_magazine

我需要在C表中创建一个新行,如下所示:

id(autoincremental) product_id:4897 user_id:890 数量:1 日期:' 2017-2-20'

显然,应该使用where语句通过select语句检索P和A中的product_id和user_id。

1 个答案:

答案 0 :(得分:0)

如果要从应用程序传递数据,请使用procedure(假设id自动递增)

CREATE PROCEDURE `AddSale` (IN ProdID INT, IN UserID INT, IN Qty INT)
BEGIN
  insert into TableC (Product_ID, User_ID, Quantity, Date)
  values (ProdID, UserID, Qty, Now());

END

在您的应用程序中,调用该过程并传递参数