为mysql中的每个查询结果在表中插入行

为mysql中的每个查询结果在表中插入行,mysql,sql,insert,Mysql,Sql,Insert,我的数据库中有两个表(朋友/留言簿) 我使用以下查询来选择特定用户的所有好友 SELECT FID FROM `friends` as F WHERE UID = 1 我想做的是在“guestbook”表中为上述查询返回的每个结果插入一行 INSERT INTO `guestbook` (`FID`, `UID`, `message`) VALUES ('FID SHOULD BE EQUAL TO FID FROM PREVIOUS QUERY', '1', 'message goes he

我的数据库中有两个表(朋友/留言簿)

我使用以下查询来选择特定用户的所有好友

SELECT FID FROM `friends` as F WHERE UID = 1
我想做的是在“guestbook”表中为上述查询返回的每个结果插入一行

INSERT INTO `guestbook` (`FID`, `UID`, `message`) VALUES ('FID SHOULD BE EQUAL TO FID FROM PREVIOUS QUERY', '1', 'message goes here!')

如何做到这一点?

使用
插入。选择

INSERT INTO `guestbook` (`FID`, `UID`, `message`)
    SELECT FID, 1, 'message'
    FROM `friends` as F
    WHERE UID = 1;

谢谢这很有效,我能够以比预期快得多的速度插入20k行。