MySQL Foreach строка в таблице

0

Допустим, у меня две таблицы: 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?

Теги:

1 ответ

2
Лучший ответ

Конечно. Вы можете просто использовать вставку с оператором select из другой таблицы. Это не то же самое логически, что и итерация по каждой строке, но получат те же результаты (и выполняются намного лучше)

Пытаться:

INSERT INTO tags (post_key, name)
  SELECT post.id, 'mytag' 
  FROM posts
  WHERE post.type = 'user'
  • 0
    * palmfacemoment приятно LOL .. foreach через меня, но это общее решение. +1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню