Допустим, у меня две таблицы: posts
и tags
. И я хочу, используя чистый SQL, перебирать все posts
с помощью posts.type
для user
. С этими post.id
этих сопоставленных сообщений мне нужно создать новые tags
с данным post.key
для этой строки.
posts Table:
id
type
tags
id
post_key
name
Так что-то вроде этого (псевдо-код):
FOREACH(SELECT post.id FROM posts WHERE post.type = 'user')
INSERT INTO tags (post_key, name) VALUES (post.id, 'mytag')
Является ли это выполнимым только с SQL?
Конечно. Вы можете просто использовать вставку с оператором select из другой таблицы. Это не то же самое логически, что и итерация по каждой строке, но получат те же результаты (и выполняются намного лучше)
Пытаться:
INSERT INTO tags (post_key, name)
SELECT post.id, 'mytag'
FROM posts
WHERE post.type = 'user'