2014-05-03 209 views
0

我做一個臨時表插入之前:MySQL查詢:循環語句

table_temp:

+------+-----------+ 
| id | name  | 
+------+-----------+ 
| 1 | A  | 
| 2 | B  | 
| 3 | C  | 
+------+-----------+ 

我可以把「是」按鈕,如果我按是按鈕,然後在table_temp名稱值將插入對TABLE_NAME,結果將是:

+------+-----------+ 
| id | name  | 
+------+-----------+ 
| 1 | A  | 
| 2 | A  | 
| 3 | B  | 
| 4 | B  | 
| 5 | C  | 
| 6 | C  | 
+------+-----------+ 

IM困惑循環查詢,使其工作,

感謝您的任何意見:)

更新:

我有一個場景:

採取從table_temp 「A」 的名字,然後插入到表名,然後刪除table_temp 「A」 的名字,

+------+-----------+ 
| id | name  | 
+------+-----------+ 
| 2 | B  | 
| 3 | C  | 
+------+-----------+ 

以 「B」 從table_temp名稱,然後插入到表名,然後刪除 「B」 從table_temp名,

+------+-----------+ 
| id | name  | 
+------+-----------+ 
| 3 | C  | 
+------+-----------+ 

和循環停止,如果table_temp是空的,

回答

1

你不需要任何環路,只是兩個SQL語句:

INSERT INTO table_name(id , name) 
SELECT id, name FROM temp_table; 

TRUNCATE TABLE temp_table; 

第一個衆所周知聲明insert ... select ...插入從臨時表中的所有行。
第二個刪除臨時表的整個內容。