如果将临时表#t1中TimaStamp类型的字段删除可以解决吗?如何删除字段呢?

解决方案 »

  1.   

    如果在创建表时,定义了一个timestamp, 则用户无论何时向表中添加记录,SQL都会自动向这个字段 加入一个计数器的!timestamp 字段的值为二进制格式(以0x开头的),与系统时间并没有什么关系,它表示包含timestamp 字段的操作记录,实际上相当于一个单值递增的计数器这样说吧,在batabase中,其列保持叭一,也就是说,它可以唯一标识表中的字段!for example:
    create table tabtab
         (id int not null,
          names  char(8) not null,
         field timestamp not null)insert tabtab (id,names)
         values(101,'wife')
    insert tabtab (id,names)
         values(102,'me')select * from tabtab/***********结果*******************/id          names    field              
    ----------- -------- ------------------ 
    101         wife     0x0000000000032065
    102         me       0x0000000000032066(所影响的行数为 2 行)/****更新记录**/update tabtab set names ='mywife' where id=101
    select * from tabtab/********结果*******/
    id          names    field              
    ----------- -------- ------------------ 
    101         mywife   0x0000000000032068
    102         me       0x0000000000032066(所影响的行数为 2 行)
    显然,id 为101 的field   也在更新。
    如果些时另一个用户更新表中的记录,那么这个用户的更新操作不可能完成的,因为此记录在前面更新过了,而且在更新的同时,系统已经修改了timestamp 字段的值,如上面的field!
      

  2.   

    alter table tb drop column 字段名