2013-08-06 47 views
3

我有一個包含關於我的帖子的所有信息的表'posts'。 我想爲所有類型爲'public'的帖子插入一個新行到不同的表中。 我想運行一個查詢,會是這個樣子:Mysql Foreach循環語法

$ids = (SELECT post_id FROM posts WHERE post_type = 'public')  
foreach($id in $ids){ 
    INSERT INTO new_posts (post_id, post_data) VALUES ($id, 'hello'); 
} 

我知道我可以在一個SQL語句插入多行,但我需要的POST_ID更改每一個有太多對我來說手動更改它。

這是什麼正確的mysql語法,我可以在我的數據庫管理器中運行? (Adminer)

回答

9

你不需要循環。你可以在一個查詢中做到這一點

INSERT INTO new_posts (post_id, post_data) 
SELECT post_id, 'hello' 
FROM posts 
WHERE post_type = 'public' 
+0

謝謝!像魅力一樣工作! – user2306941