2013-07-16 67 views
10

我想讓我的插入查詢具有到用戶數據表的內部聯接。使用內部聯接插入查詢

的表的示例是這樣的:

users:

uid | name 

users_data:

id | data_id | uid | other fields 

data_stocks

id | data_id | quantity 

所以我試着去插入與僅從users知道uiddata_stocks

還挺像這樣:

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

這是可能在MySQL的?

回答

18

您要使用的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;