在数据库中一般都有自动增量这种方式实现,比如说在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')
划线处就是实现部分!
中,例子:
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')
划线处就是实现部分!
还有其他方法:在SQL server中先定义一序列数,后用在触发器中调用赋值,或者在通过存储过程取序列数在客户端调用赋值;在paradox中用"+"定义字段,也可自动增量;
我们现在用的方法是先遍历整个表,找出最大值,然后将最大值加一,但是当删掉其中一个后,被删掉的那个编号将永远空着,并且觉得若是已有记录达到一万条左右时,添加一条记录明显变慢
因为我们delphi脚本语言编写,对有些东西支持不是很好,所以希望大家能提供一个实用的方法
功能。