У меня есть таблица follower
и followee
, который имеет два user_id
значения.
user_id
сопоставлены с username
и мне нужно получить соответствующий user_id
из предоставленного username
.
Чтобы получить user_ids
меня есть запрос
SELECT user_id FROM user WHERE username IN (username1, username2)
То, что я хочу сделать, это вставить эти значения в таблицу последователей, и я думаю, что я начинаю с
INSERT INTO followers (follower, followee) ( SELECT user_id FROM user WHERE username IN (username1, username2)
)
Тем не менее, эти запросы приводят к двум проблемам: 1) как я могу гарантировать, что правильный результат является последователем и последователем 2) как я могу взять результат SELECT
и поместить его в формат, который mysql примет в качестве значений для вставки?
Я не уверен, как ваши структуры таблиц, но если username1 является именем последователя, а имя_пользователя2 является последователем, этот запрос должен помочь вам:
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