原数据表zlb_lgz_hxcf ,新数据表zlb_lgz_hxcf_xgb,现在要从原数据表中找出一条记录,id为20081017220001,来粘贴到新数据表中。
原数据表的主键是id,14位。新数据表的主键是iid,递增就可以了(新数据表里的字段比原数据表里字段多一个,就是iid,)。语句如何写?
insert   into   zlb_lgz_hxcf_xgb(ph,dj,lh,c,mn,si,s,p,ni,cr,cu,ceq,nb,v,ti,al,myr,fxr,rq,bz,zydw,sydw,beiz,dqzt,syqk,ztms,bzw,pdlh,zjh,ce,als,mo,dycs) values (select ph,dj,lh,c,mn,si,s,p,ni,cr,cu,ceq,nb,v,ti,al,myr,fxr,rq,bz,zydw,sydw,beiz,dqzt,syqk,ztms,bzw,pdlh,zjh,ce,als,mo,dycs  from zlb_lgz_hxcf where id=20081017220001)怎么总错误,我是不会写了!!
请教高手,给个最简单的写法!

解决方案 »

  1.   

    insert  into  zlb_lgz_hxcf_xgb(ph,dj,lh,c,mn,si,s,p,ni,cr,cu,ceq,nb,v,ti,al,myr,fxr,rq,bz,zydw,sydw,beiz,dqzt,syqk,ztms,bzw,pdlh,zjh,ce,als,mo,dycs) 
    select ph,dj,lh,c,mn,si,s,p,ni,cr,cu,ceq,nb,v,ti,al,myr,fxr,rq,bz,zydw,sydw,beiz,dqzt,syqk,ztms,bzw,pdlh,zjh,ce,als,mo,dycs 
     from zlb_lgz_hxcf where id=20081017220001
      

  2.   


    这就可以了,如果结构完全相同,那就insert into 表1 select * from 表2
      

  3.   

    insert into(...)select ...
      

  4.   

    给你一个最简洁的写法:select * into zlb_lgz_hxcf_xgb from zlb_lgz_hxcf where id='20081017220001'
      

  5.   

    insert into table() select .... from
      

  6.   

    这些语句在delphi7中不能用,我还没有找到解决的办法~
      

  7.   

    找到了解决办法就是不能用open方法,要用execsql方法~~
      

  8.   

    大哥你搞错没???竟然用open,open只适合查询用。insert,update delete都不能用的
      

  9.   

    谢谢朋友们的帮助!
    ljluck7687,你的那个好像是当数据表中没有这个数据表才可以用,不然就显示说已经存在这个表。