日期:2014-05-16  浏览次数:20431 次

主键的生成方式

主键的生成方式主要有三种:

一. 数据库自动生成
二. GUID
三. 开发创建

严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行讲解。


第一种方式,主要将其定位在自增长的标识种子:可以设置起始数值,及增长步长。其优点在于使用时完全将并发任务交于数据库引擎管理,你不用担心存在多用户使用的时候会产生两个相同的ID的情况。其缺点也在于此,多数的数据库不提供直接获取标识ID的方式,对于开发人员来说产生ID的方式是透明的,开发人员几乎无法干预此项。对于数据的迁移也不是很方便。

由于存在上面的利弊,这种自增长的ID一般多用于设计基础表(系统运行的基础信息,如员工表)主键,而极少(根本不)用于主从表主、外键,因为在产生主从表数据并关联时,必须确定主表的ID,然后才能定位从表的关联ID。
例(MsSQL):

--创建测试表
CREATE TABLE [Identity](
    Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2
    Number VARCHAR(20) UNIQUE NOT NULL,
    Name VARCHAR(20) NOT NULL,
    Password VARCHAR(20) DEFAULT(123),
    Description VARCHAR(40) NULL    
)
--插入记录
INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1')
INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2')
INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃')
INSERT INTO [Identity](Number,Name,Description


                        
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:352人  网站在4时30分44秒内访问总人数:52439人 当前 99.71%  粤ICP备18100884号-2