`
BarryWei
  • 浏览: 66514 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SQL Server中100万年不会重复的标识列

阅读更多

      在使用SQL Server中我们经常会使用标识列来做主键,一般情况下我们都将标识列设置成int类型,然后设置标识种子和增量。

      但是如果数据库中的数据过大,那么int类型数据可能不够用,改怎么办呢?

      在SQL Server中有一种数据类型UniqueIdentifier类型,该类型存储16字节的二进制值,为该列分配必须具有的唯一的标识符,因此该列的数值不可能存在重复,因此也可以作为主键来使用。

      据说这种数据类型是更具当前时间和服务器网卡地址随机生成,100万年之内不会出现重复的值,看来足够我们使用了。哈哈哈。

      设置某列的值为UniqueIdentifier类型,为非即可。

     

CREATE TABLE Test(
	[id] [uniqueidentifier] NOT NULL,
	[name] [varchar](20) NOT NULL,
	[comm] [varchar](100)
)

 

 

      然后插入数据的时候使用newID()函数插入数据即可。

     

insert into Test values(newID(),'TestForMe','This is just a test')

      看看执行以后的结果,这样生成的标识列如论如何也不会有重复,而且相信对我们的系统来说,够用了。呵呵。

 

分享到:
评论

相关推荐

    SQLServer-让标识列重新开始计算

    在SQL Server中,标识列(Identity Column)是一种自增型字段,常用于自动为表中的记录分配唯一的序列号。这在创建主键或唯一索引时非常有用,尤其是在需要为新记录自动分配唯一编号的情况下。但是,在某些情况下,...

    sql server 中如何增加递增的序号列【实用】

    在 sql server 中,增加递增的序号列是非常常见的需求,例如,在管理客户信息时,需要为每个客户分配一个唯一的序号,以便于后续的处理和分析。那么,在 sql server 中如何增加递增的序号列呢? 首先,让我们来了解...

    SqlServer 永不重复的主键(非自增列)

    数据库自增列主键在数据库还原时百分百会出问题 为解决该问题特开发自定义式的主键 创建一个监控表,一个被调用的存储过程即可,推荐有存储过程编广泛使用的程序使用 调用方法 DECLARE @PKID CHAR(12)='' EXEC [dbo]....

    标识列与普通列相互转换示例

    标识列与普通列相互转的示例 --创建测试表 CREATE TABLE t1(ID int IDENTITY,A int) GO --插入记录 INSERT t1 VALUES(1) GO --1. 将IDENTITY(标识)列变为普通列 ALTER TABLE t1 ADD ID_temp int GO UPDATE t1 SET ...

    sqlServer删除重复数据

    SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句、使用自动生成的标识符、...

    将Sql Server 2000中的数据库备份文件还原到sql2005中

    将Sql Server 2000中的数据库备份文件还原到Sql Server 2005中是一个常见的问题。在这个过程中,我们需要了解Sql Server 2000和Sql Server 2005之间的差异,以便正确地还原数据库备份文件。下面是相关的知识点: 1....

    SqlServer2005 打开 SqlServer2008 mdf文件

    1. 右击 Sql Server 2008 中的 jmmaj 数据库,选择“任务”->“生成脚本”,勾选“为所选数据库中的所有对象编写脚本”,然后选择“为服务器版本编写脚本”,最后选择 Sql Server 2005,并将脚本保存到一个.sql 脚本...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....

    SQL Server 索引中include的魅力(具有包含性列的索引)

    SQL Server 索引中 include 的魅力(具有包含性列的索引) SQL Server 索引中 include 的魅力(具有包含性列的索引)是指在非聚集索引中添加非键列,以扩展索引的功能,提高查询性能。通过将非键列添加到非聚集索引...

    C#操作SQL Server中的Image类型数据

    C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 C#操作SQL Server中的Image类型数据 详细介绍请参考: ...

    sqlserver自动生成sql语句工具sqlserver转oracle

    在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...

    sql server 导入超大SQL脚本文件

    SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL 脚本文件。 什么是 osql? osql 是 ...

    Sql_Server中如何判断表中某列是否存在

    Sql_Server中如何判断表中某列是否存在

    sql server2019安装包

    SQL Server 2019是Microsoft推出的一款关系型数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、处理和分析能力,广泛应用于企业级数据库应用开发和数据分析。在本安装包中,主要包含的是...

    sqlserver内存释放

    #### 一、SQL Server 内存管理概述 SQL Server 是一款高性能的关系型数据库管理系统,在处理大量数据时能够实现高效的查询响应时间。为了提高性能,SQL Server 会尽可能地利用系统可用内存来进行数据缓存。这种内存...

    kepserver读取SQL Server数据库

    在设备创建过程中,你需要指定数据类型,例如数值、字符串或布尔值,这些数据类型应该与SQL Server中的列类型相对应。然后,在表中选择要读取的特定列,这些列将成为OPC标签,可以在OPC客户端应用程序中访问。完成...

    SQL server Native Client 10.0

    SQL Server Native Client 10.0 是微软推出的一款专门用于与SQL Server 2008及后续版本交互的客户端库,它集成了ODBC(Open Database Connectivity)和OLE DB(Object Linking and Embedding, Database)接口。...

    SQL Server修改标识列方法 如自增列的批量化修改

    在SQL Server中,标识列(Identity Column)是一种特殊类型的列,通常用于自动为新插入的行生成唯一的整数。它们通常被用作主键的一部分,确保数据的唯一性。标识列具有自增属性,这意味着每次插入新行时,该列的值...

    sql server客户端连接工具

    9. **Visual Studio中的SQL Server Tools**:在Visual Studio IDE中,有专门针对SQL Server的插件,如SQL Server Object Explorer,可以方便地在开发环境中管理数据库。 在压缩包文件名"SQL客户端(2000界面)"中,...

    sqlserver 实现 行转列 split 分割的函数

    sqlserver 实现 行转列 split 分割的函数,具体使用方法写有在文件里。

Global site tag (gtag.js) - Google Analytics