Как создать оператор MySQL для вставки в таблицу, задав значения из другой таблицы - PullRequest
0 голосов
/ 28 марта 2019

Мне нужно вставить строки в таблицу, используя значения из другой таблицы.

Следующее утверждение примерно то, что я хочу, я просто не могу понять, как сделать SELECT.

INSERT INTO forumlink
SET 
    forumlink.personid = fp.posterid, 
    forumlink.link = '/app-views/forum/post-view?postID=' + fp.postid,
    forumlink.type = 'MYPOSTS'
(SELECT posterid, postid FROM forumpost fp);

Спасибо за помощь.

BobC

Ответы [ 2 ]

2 голосов
/ 28 марта 2019

Это проще, чем вы делаете:

INSERT INTO forumlink (personid, link, type)
SELECT fp.posterid, CONCAT('/app-views/forum/post-view?postID=', fp.postid), 'MYPOSTS'
FROM forumpost fp;

Подробнее о синтаксисе можно прочитать в соответствующей документации .

2 голосов
/ 28 марта 2019

Вам нужно будет добавить фиксированные значения к тем, которые вы выбираете из другой таблицы, и использовать запрос INSERT ... SELECT:

INSERT INTO forumlink (personid, link, type)
SELECT posterid, CONCAT('/app-views/forum/post-view?postID=', postid), 'MYPOSTS'
FROM forumpost
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...