2014-05-03 154 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 ...插入从临时表中的所有行。
第二个删除临时表的整个内容。