Mysql 将IN子查询的结果插入到单独的列中
我有一个包含Mysql 将IN子查询的结果插入到单独的列中,mysql,insert,Mysql,Insert,我有一个包含follower和followee的表,其中包含两个用户id值 user\u ids映射到username,我需要从提供的username中获取匹配的user\u ids 要获取用户ID,我需要查询 SELECT user_id FROM user WHERE username IN (username1, username2) 我想做的是将这些值插入到follower表中,我想从 INSERT INTO followers (follower, followee) ( SELEC
follower
和followee
的表,其中包含两个用户id
值
user\u id
s映射到username
,我需要从提供的username
中获取匹配的user\u id
s
要获取用户ID
,我需要查询
SELECT user_id FROM user WHERE username IN (username1, username2)
我想做的是将这些值插入到follower表中,我想从
INSERT INTO followers (follower, followee) ( SELECT user_id FROM user WHERE username IN (username1, username2)
)
但是,这种查询会导致两个问题
1) 我如何确保正确的结果是跟随者和跟随者
2) 如何获取
SELECT
语句的结果并将其转换为mysql将接受作为插入值的格式?我不确定您的表结构如何,但如果username1是跟随者的名称,username2是跟随者的名称,此查询应该可以帮助您:
INSERT INTO followers (follower, followee)
SELECT follower.user_id, followee.user_id
FROM user AS follower
INNER JOIN user AS followee ON (follower.user_id <> followee.user_id)
WHERE follower.username = username1
AND followee.username = username2
插入追随者(追随者,追随者)
选择follower.user\u id,followee.user\u id
从用户到跟随者
内部加入用户作为followee ON(follower.user\u id followee.user\u id)
其中follower.username=username1
和followee.username=username2
你能不能提供一些样本数据/预计我会试试。谢谢@David,我想我把事情复杂化了。