我想在同一表里,用一个字段值替代另一字段值,不知SQL语句该如何写。
例如:
表 Commodity
ID,Code,Name我想用Name字段的值填到Code里,SQL语句该如何写?多谢大家!

解决方案 »

  1.   

    --try
    update Commodity set Code=Name
      

  2.   

    update Commodity  set Name=code
      

  3.   

    update
      Commodity
    set
      Code=Name
      

  4.   

    update commodity set code=name
      

  5.   

    --try
    update Commodity set Code=Name
    这个不行啊!
      

  6.   

    --try
    update Commodity set Code=Name这个不行啊!
    =======那是因为你这两个字段类型不同。
      

  7.   

    create table Commodity
    (ID int,
    Code varchar(10),
    Name varchar(10)
    )
    insert Commodity
    select 1,'a','aa' union all
    select 2,'b','bb'
    select * from Commodity
    update Commodity set Code=name
    select * from CommodityID          Code       Name       
    ----------- ---------- ---------- 
    1           a          aa
    2           b          bb(所影响的行数为 2 行)
    (所影响的行数为 2 行)ID          Code       Name       
    ----------- ---------- ---------- 
    1           aa         aa
    2           bb         bb(所影响的行数为 2 行)
      

  8.   

    --try
    update Commodity set Code=Name这个不行啊!
    =======那是因为你这两个字段类型不同。都是char型,Name长了一些。Code 30   Name 50
      

  9.   

    说错了,都不行啊   当你NAME长度>30
      

  10.   

    create table Commodity
    (ID int,
    Code char(30),
    Name char(50)
    )
    insert Commodity
    select 1,'a','aa' union all
    select 2,'b','bb'
    select * from Commodity
    update Commodity set Code=name
    select * from Commodity
      

  11.   

    不改数据,查询时
    select name as code from Commodity
      

  12.   

    明白了,是Name长度比Code长造成的。多谢大家了!送分