Вставить запрос с внутренним соединением

Я хочу сделать свой запрос на вставку, который имеет внутреннее соединение с таблицей данных пользователя.

Пример таблиц выглядит следующим образом:

users:

uid | name 

users_data:

id | data_id | uid | other fields

data_stocks

id | data_id | quantity

Так что я пытаюсь вставить в data_stocks, относящийся только к знанию uid из users.

Своего рода:

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

Возможно ли это в mySQL?

Ответ 1

Вы хотите использовать форму 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;