11

我想让我的插入查询与用户的数据表有一个内部连接。

表格示例如下:

users:

uid | name 

users_data:

id | data_id | uid | other fields

data_stocks

id | data_id | quantity

所以我试图插入data_stocks只知道uidfrom 的内容users

有点像这样:

INSERT INTO data_stocks (data_id,quantity)
VALUES (' need to join it some how ','$quantity');

这在 mySQL 中可能吗?

4

1 回答 1

20

你想使用insert ... select语句的形式:

INSERT INTO data_stocks (data_id,quantity)
    select ud.data_id, $quantity
    from users u join
         users_data ud
         on u.uid = ud.uid;

如果您只为一个用户执行此操作,它可能看起来更像这样:

INSERT INTO data_stocks (data_id,quantity)
    select ud.data_id, $quantity
    from users_data ud
    where ud.uid = $uid;
于 2013-07-16T01:11:37.440 回答