2013-07-16 35 views
10

Tôi muốn thực hiện truy vấn chèn của mình có tham gia bên trong vào bảng dữ liệu của người dùng.Chèn truy vấn với tham gia bên trong

Các ví dụ về các bảng là như thế này:

users:

uid | name 

users_data:

id | data_id | uid | other fields 

data_stocks

id | data_id | quantity 

Vì vậy, im cố gắng để chèn vào data_stocks liên quan đến chỉ biết uid từ users.

Kinda như thế này:

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

Đây có phải là có thể trong mySQL?

Trả lời

18

Bạn muốn sử dụng hình thức insert ... select của tuyên bố:

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

Nếu bạn đang làm điều này cho chỉ có một người sử dụng, nó có thể trông như thế này:

INSERT INTO data_stocks (data_id,quantity) 
    select ud.data_id, $quantity 
    from users_data ud 
    where ud.uid = $uid; 
Các vấn đề liên quan