SQL如何查询出一行数据并插入原数据表

SQL怎么查询出一行数据并插入原数据表
比如怎么从a表中查询ID=32的数据,并把查询出来的数据插入a表,其实就是相当于Copy了一次
------解决方案--------------------
insert into xxx(xxx,xxx,xxx) select xxx,xxx,xxx from xxx
------解决方案--------------------
insert A select * FROM A where ID=32
------解决方案--------------------
insert into A (id) select id from A  where id=32
------解决方案--------------------
insert into  A(id,name)select id1, name1 from B where id=32
注意:
1.A表和B表对应字段类型要一致。(A表id 和 B表 id1 ,A表name 和B表name1)
2.插入是两边字段数目要一致, 比方说用*号时候,要特别注意 。
------解决方案--------------------

--如果ID为标识列,又不想复制,则:
insert into a select a表中除ID外的列 from a where ID =32
--ID不为标识列
insert into a select * from a where ID =32