有这样一个表 id,  name, type 
1001  n1    10 
1002  n2    10 
2001  n3    20 
......... 
......... 
请问如何写一个语句,自动生成ID 
id = type+INT自动增长 谢谢了:)

解决方案 »

  1.   

    最基本、最笨的办法:
    第一步:select max(id) from table找出表中目前最大的id值
    第二步:在代码中将最大的id转成整数,然后加一
    第三步:将加一后的值连同其他值一同插入。
    如果你有更具体的要求,那么你说出来我才能帮你,才能给你更满意的答案
      

  2.   

    谢谢先:有这样一个表 id,  name, type 
    1001  n1    10 
    1002  n2    10 
    2001  n3    20 
    ......... 
    ......... 
    请问如何写一个语句,自动生成ID 
    id = type+INT自动增长 
    每种TYPE相对应的ID都是从1开始递增 , 肯定不能对整个表用自动增长ID表中已经有 7000多表数据, ID列的值是空的, 上面的显示为了便于理解。 我的思路是先根据TYPE分组, 然后循环每种TYPE, 更改TYPE下的相应ID 
    谢谢了:)
      

  3.   


    先获取每组的最大值sql="select max(id) from table where id like '"+type+"%' ";然后对获取的值加1,
      

  4.   

    select convert(type,varchar(6)+INT(自动增长的字段)
      

  5.   

    要是用update更新的话需要足够的条件判断,你就2个字段,除非你保证name中无重复值
      

  6.   

    不同的数据库,sql语句是有差别的,所以你先说说是什么数据库