在一个表text1中新建了一些数据
---------------
id    name
1     金
1     金
2     木
3     水
4     田
5    山
----------------
中id的类型 int, name 是nvarchar(10)
当我想将id号重复的记录删除掉就又别新建别外一个表temp_text1
用了以下语句
select * into temp_text1 from text1
再删除temp_text1里的5条数据
delete temp_text1
然后想再将text1表中id不重复的数据复制到temp_text1中去
insert into bak select distinct id ,addr from a 后出现错误
将 nvarchar 值 '金' 转换为数据类型为 int 的列时发生语法错误。
 请问如何解决?谢谢

解决方案 »

  1.   


    insert into bak(这里指定列名)  select ...
      

  2.   

    要这么复杂啊
    直接转一下就可以啊
    select distinct * into #t from text1 truncate table text1 insert text1 select * from #t
      

  3.   

     后出现错误 
    将 nvarchar 值 '金' 转换为数据类型为 int 的列时发生语法错误。你建立的这个临时表,字段有问题吧'
    select distinct id ,addr into bak from a
      

  4.   

    insert into bak(id,addr) select distinct id ,addr from a