各位设计数据库时用不用Identify字段?
用有什么优点,不用有什么好处,
各位大虾提点意见!!!

解决方案 »

  1.   

    1。可以自动的设置。数据库有这个功能
    2。最好自己编一个:
    procedure TFormJLB.UserLsh();
    var m:Integer;
        b:Integer;
    begin
         Query1.Close;
         Query1.SQL.Clear;
         Query1.SQL.Add('select personID from person ORDER BY  personID');
         Query1.Open;
         Query1.First;
         b:=1;
         if Query1.RecordCount=0 then Edit1.Text:=IntToStr(1)
         else
          begin
              while  not Query1.Eof do
              begin
                 m:=Query1.FieldByName('personID').Value;
                 if b<>m then
                 begin
                    break;
                 end;
                 b:=b+1;
                 Query1.Next;
              end;
              Edit1.Text:=IntToStr(b);
          end;
          Edit1.Enabled:=false;end;
      

  2.   

    例如说我正在做的酒店管理系统中
    每笔交易就用的是流水号,也就是自增
    优点就是不必管理,也不会因为程序代码的Bug出错
    不用的好处?我不好想,不过是否用它是根据程序需要吧。
      

  3.   

    Identify在数据库设计中是经常用到的。我主要在以下几方面用到
    1,这个表没有作为主健的字段,用之作为主健。
    2,大数据量的表(作为流水号)。
    好处,显而易见,不用自己编程实现Identify
    坏处有的数据库不能保证连续性(sybase,oracle,不知道sybase现在的版本行不行)
      

  4.   

    一般不用,但有時也會用如對數據表定位時如果記錄之間的差距隻是一二個字段那定位比較困難用Identify字段則比較方便個人不推薦使用Identify字段
      

  5.   

    我从不用这个功能,
    要实现这个功能可以用这样的语句代替Insert into Users Set Id = (Max(Id)+1),Name="ww"
      

  6.   

    是呀,
    我从不用它,要用还不如我自已实现呢,insert into User values Max(Id)+1 ,"WW"
      

  7.   

    他能作为 “流水号”的作用,?????
    insert into User values Max(Id)+1 ,"WW"