2011-06-22 8 views
0

poststagsの2つのテーブルがあるとします。純粋なSQLを使用してpostsposts.typeuserに設定して繰り返したいとします。それらの一致した投稿のそれらのpost.idで、私はその行のために与えられたpost.keyで新しいtagsを作成する必要があります。だから、テーブル内の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

*私を通して..笑foreachのを素敵なオフpalmfacemomentが、この一般的な解決策です。 +1 –