为mysql中的每个查询结果在表中插入行[重复]
Posted
技术标签:
【中文标题】为mysql中的每个查询结果在表中插入行[重复]【英文标题】:Insert row in table for each result of query in mysql [duplicate] 【发布时间】:2019-02-26 01:50:02 【问题描述】:我的数据库中有 2 个表(朋友/留言簿)。
我正在使用以下查询来选择特定用户的所有朋友。
SELECT FID FROM `friends` as F WHERE UID = 1
我想做的是在“留言簿”表中为上述查询返回的每个结果插入一行。
INSERT INTO `guestbook` (`FID`, `UID`, `message`) VALUES ('FID SHOULD BE EQUAL TO FID FROM PREVIOUS QUERY', '1', 'message goes here!')
如何做到这一点?
【问题讨论】:
【参考方案1】:使用insert . . . select
:
INSERT INTO `guestbook` (`FID`, `UID`, `message`)
SELECT FID, 1, 'message'
FROM `friends` as F
WHERE UID = 1;
【讨论】:
谢谢!这很奏效,我插入 20k 行的速度比我预期的要快得多。以上是关于为mysql中的每个查询结果在表中插入行[重复]的主要内容,如果未能解决你的问题,请参考以下文章