在数据库中一般都有自动增量这种方式实现,比如说在SqlServer
中,例子:
USE pubsIF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLESWHERE TABLE_NAME = 'new_employees')
DROP TABLE new_employees
GO
CREATE TABLE new_employees
(
 id_num int IDENTITY(1,1),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 fname varchar (20),
 minit char(1),
 lname varchar(30)
)
  
INSERT new_employees
(fname, minit, lname)
VALUES
('Karin', 'F', 'Josephs')
  
INSERT new_employees
(fname, minit, lname)
VALUES
('Pirkko', 'O', 'Koskitalo')
划线处就是实现部分!

解决方案 »

  1.   

    coCreateGuid() 不会重复。而且升序。
      

  2.   

    ePing(三少)的是一种方法.
    还有其他方法:在SQL server中先定义一序列数,后用在触发器中调用赋值,或者在通过存储过程取序列数在客户端调用赋值;在paradox中用"+"定义字段,也可自动增量;
      

  3.   

    大家能不能提供一种编码方法,要求主关键字中的值一不重复,而且又是有意义的编码,比如可以根据编码分析出其所在部门.政治面貌等,最好不用存取过程和sql语句,给我提供一个用函数解决的办法是最好不过了
    我们现在用的方法是先遍历整个表,找出最大值,然后将最大值加一,但是当删掉其中一个后,被删掉的那个编号将永远空着,并且觉得若是已有记录达到一万条左右时,添加一条记录明显变慢
    因为我们delphi脚本语言编写,对有些东西支持不是很好,所以希望大家能提供一个实用的方法
      

  4.   

    SQLServer有没有自动增量类型Paradox和Access里面都有。
      

  5.   

    最好的办法是在触发器(insert)中实现.相对来说速度较快.c/s就应该充分发挥后台数据库的
    功能。