2011-06-22 42 views
0

可以說我有兩個表:poststags。我想通過純SQL,遍歷所有posts,將posts.type設置爲user。與那些匹配的帖子的post.id,我需要合作創建一個新的tags與給定post.key該行。MySQL中的Foreach行

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?

回答

2

當然。您可以簡單地在另一個表中使用帶有select語句的插入。它是不一樣的邏輯是循環訪問的每一行,但會得到相同的結果(和執行好得多)

嘗試:

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

* palmfacemoment很好笑..通過我關在foreach,但這種是一般的解決方案。 +1 –