在建表的时候往往会用一个int型做主键,我在写winform的时候往表里添数据的时候,没有给主键赋值,而是用他自己加的那个东西,就是在SQL建表的时候自动给主键赋值的那个东西,一开始觉得很方便,渐渐发现了问题,主键的值只会加不会减,当把表里的数据全部删除之后,主键仍然按照删除前最大的int 加1.感觉这样没有止境.一定会出错的,不知道实际用的时候应该怎么给主键赋值
另外还又个问题很迷惑,没有参加过正式的开发,都是瞎做一些CS的简单的东西,我在想,难道软件写出来的时候还要把SQL什么的也给客户拷过去?不现实啊,具体应用的时候应该是怎么样的呢?

解决方案 »

  1.   

    第一个问题,有两种解决办法:
    1.可以不用自动增长的主键,但插入的时候要自己去算这个ID
    2.使用自动增长的主键,如果你怕出错,可以使用longint,这个基本上是足够大的。
    第二个问题,一般来讲SQL Server应该是由客户自己买,如果要让开发的软件公司买,那么软件公司也只是帮客户代买而已。
      

  2.   

    不需要担心这个增长的数值会太大,int是有2亿多,可以用很久的。