想问两个问题:
1,在sql server表中设的id,虽然可以自动加一,但有好多问题,删除中间的记录他不更新;这样id号就不连续,只是递增的而已;
还有一点,比如当前最后一条记录id为20,如果把表里的记录全部删掉后再插入记录,他从21开始;
怎样才能解决id的问题呢
2,我在表中定义了一个字段introduce(简介),但是类型里面最长的是50个,这好像不够用
想要存较长的一段话,用什么类型呢
写了挺多,费心了各位:)
等你们的回答

解决方案 »

  1.   

    2.定义字段长度,sql server可定义 例如 introduce varchar(8000)第一个问题比较麻烦
      

  2.   

    第一个问题有个笨方法:    将ID了设为numeric,标识为:是    数据全删后,把标识设为:否,保存,然后再设为是,保存 即可连续
      

  3.   

    alter 表 introduce varchar(8000)扩展字段长度
    根本不用管它,第一问题,增加一个序号的字段即 可,不让他自增
      

  4.   

    用nTEXT
    ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。
      

  5.   

    还有一点,比如当前最后一条记录id为20,如果把表里的记录全部删掉后再插入记录,他从21开始;
    怎样才能解决id的问题呢
    ====
    TRUNCATE TABLE name
    TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。
      

  6.   

    假如要全部删除表的行就用 TRUNCATE TABLE +你的表名就会重新从1开始计数
    假如你在中间删除某一行 就删除那个自动列 重新添加自动列就可以了
    不过那样自动列的本身意义就消失了