MySQL Foreach排在表中

时间:2011-06-22 22:19:44

标签: mysql sql

假设我有两张牌桌:poststags。我想通过纯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 个答案:

答案 0 :(得分:2)

不确定。您可以简单地使用带有另一个表中的select语句的插入。它在逻辑上与迭代每行不一样,但会得到相同的结果(并且表现更好)

尝试:

INSERT INTO tags (post_key, name)
  SELECT post.id, 'mytag' 
  FROM posts
  WHERE post.type = 'user'