primary-key相关内容

SQL Server:主键的任意自增

我们运行的是 SQL Server 2012 SP1 x64 (11.0.3000.0) 我有下表,InvoiceId 字段作为自动递增的主键: CREATE TABLE Orders(InvoiceId bigint IDENTITY(1001,1) NOT FOR REPLICATION,OrderId varchar(8) 非空,... -- 为简洁起见,删除了其他字段约束 [PK_ ..
发布时间:2021-06-21 18:42:04 数据库

如何更改 SQL Server 中主键的列长度?

我知道如何更改列的长度,但是我的 SQL 语句失败了,因为我要更改的列是 PK,因此出现以下错误: 消息 5074,级别 16,状态 1,第 1 行 对象“PK_TableName"依赖于“PersonID"列. 人员 ID = PK. 我已阅读 sql server 中改变表列字段长度的sql是什么 只适用于非PK列. 我试过这个: ALTER TABLE table ..
发布时间:2021-06-21 18:42:01 数据库

将 GUID 主键更改为整数主键

几个月前我接手了一个应用程序,该应用程序使用 Guids 作为主表上的主键.我们最近遇到了一些与索引相关的数据库问题,我刚刚阅读了使用 Guids 作为主键的内容,我了解到它们可能是一个多么糟糕的主意,我认为可能值得一看在数据库变得太大之前更改它们. 我想知道是否有一种简单的方法可以将它们更改为 Ints?有没有一些很棒的软件可以为我做到这一点?还是全由我决定? 我正在考虑在所有适当的 ..

如何在 Oracle 视图上添加主键?

可能的重复: 为sql视图添加主键 我正在使用需要 Oracle 视图中的主键的软件.是否可以在 Oracle 视图中添加主键?如果是,如何?我无法在谷歌上搜索这方面的信息. 解决方案 不幸的是,SQL 标准只允许基表上的 UNIQUE 和 PRIMARY KEY 约束,而不是视图.Oracle 允许在物化视图上使用唯一索引,但一般不允许在视图上使用. ..
发布时间:2021-06-21 18:41:54 数据库

sqlite中的复合主键

主键(col1, col2) 创建一个名为“sqlite_autoindex_mytable_1"的索引.我在“SQlite Expert"中看到了.在“要索引的字段"框中,它同时显示 col1 和 col2. 在这篇文章中:https://dba.stackexchange.com/a/14260它说如果我想在没有 col1 的 JOIN 查询中使用 col2,我必须为 col2 创 ..
发布时间:2021-06-21 18:41:51 数据库

如何重新排序主键?

我在“表类别"中删除了一行(第 20 行),请告诉我如何重新排序 catid(主键)?此时是19点后的21点. 谢谢 解决方案 你不能.你能得到的最接近的是 truncate table,它会删除表并重新创建它,这意味着你会丢失其中的所有数据,并且 ID 计数器重置为 0.除此之外,ID 将始终从最后插入的记录开始递增 1,无论该记录是否仍然存在.当然,您可以编写一个查询来修复所有当 ..
发布时间:2021-06-21 18:41:48 其他开发

违反 PRIMARY KEY 约束“PK_Address".等等......我做错了什么?

晚上.我对 SQL 还很陌生,但我已经做了很多鬼混.我正在按照我在网上找到的指南在 21 天内学习 SQL,但我在弄清楚我收到的错误是什么原因时遇到了一些麻烦. 我正在尝试将数据INSERT 插入现有表中.此表的主键是 AddressID.我试图输入的数据在下面的代码中: INSERT INTO [dbo].[地址](地址 ID、街道、城市、州、邮政编码)价值观(1,'2400 Broad ..
发布时间:2021-06-21 18:41:45 数据库

在 SQL Server 中查找表的 B 树的高度

由于数据库数据在一个B-tree中以8k页的形式组织,同样对于PK信息信息,数据库中的每个表都应该可以计算B-Tree的高度.从而揭示达到特定数据需要多少次跳跃. 由于行大小和 PK 大小都很重要,因此很难计算,因为例如 varchar(250) 不需要占用 250 字节. 1) 有没有办法从 SQL Server 中获取信息?2)如果没有,是否可以使用一些分析数据库表的代码来粗略估计 ..
发布时间:2021-06-21 18:41:40 数据库

为什么我们不能有多个主键?

我知道一个表中的主键不能超过 1 个,但技术原因是什么? 解决方案 直接从 SO: 您只能有一个主键,但主键中可以有多个列. 您还可以在表上设置唯一索引,这有点像主键,因为它们会强制执行唯一值,并加快对这些值的查询. Primary 在 Primary 的上下文中Key 表示它的重要性排在第一位.因此,只能有一个键.顾名思义. 它通常也是索引附加了实际数据的键,即数 ..
发布时间:2021-06-21 18:41:37 其他开发

numeric(38,0) 作为主键列;好,坏,谁在乎?

在我当前的项目中,我遇到了我们的主数据库脚本.仔细观察,我注意到我们所有的原始主键的数据类型都是 numeric(38,0)我们目前运行 SQL Server 2005 作为我们的主要数据库平台. 简单来说,我们同时支持 Oracle 和 SQL Server 作为我们的后端.在 Oracle 中,我们的主键的数据类型为 number(38,0). 有人知道这种实现可能产生的副作用和性 ..
发布时间:2021-06-21 18:41:31 数据库

使用主键创建视图?

我使用以下代码创建了一个视图 SELECTCONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1' AS sno,YEAR(okuma_tarihi) AS Yillar,SUM(toplam_kullanim_T1) AS TotalUsageValue, 'T1' AS UsageType从TblSayacOkumalari通过...分组转换(NVARCHAR ..
发布时间:2021-06-21 18:41:25 数据库

主键的 int 和 varchar 之间的性能差异是什么

我需要为需要对等复制的系统创建主键方案.所以我打算以某种方式组合一个唯一的系统 ID 和一个序列号来得到唯一的 ID.我想确保我永远不会用完 ID,所以我正在考虑使用 varchar 字段,因为如果我开始用完,我总是可以添加另一个字符.但我读过整数对此进行了更好的优化.所以我有一些问题... 1) 整数真的被更好地优化了吗?如果是,varchars 和整数之间的性能差异有多大?我现在要使用火 ..
发布时间:2021-06-21 18:41:22 其他开发

重置主键而不删除截断表

我有一个带有主键的表,现在没有任何原因我不知道我什么时候插入数据它正在像这样加载 Pk_Col Some_Other_Col1 安2 乙3 C1002D1003 E1901楼 有什么办法可以像下面那样重置我的表格,而不删除/截断表格? Pk_Col Some_Other_Col1 安2 乙3 C4D5 E6楼 解决方案 您无法更新 IDENTITY 列,因此 DELETE/INSERT ..
发布时间:2021-06-21 18:41:20 数据库

违反唯一键约束的主键标识值增加

我有一个 SqlServer 2008 表,它有一个主键 (IsIdentity=Yes) 和其他三个组成唯一键约束的字段. 此外,我有一个存储过程,可将记录插入表中,我使用 SqlConnection 对象通过 C# 调用 sproc. C# sproc 调用工作正常,但是当 C# sproc 调用违反唯一键约束时,我注意到有趣的结果...... 当 sproc 调用违反唯一键 ..
发布时间:2021-06-21 18:41:17 其他开发

主键重复记录绕过到下一次插入

奇怪的问题.我在表中插入 10,000 条左右的记录,主键不是身份字段.因此,当插入所有 10,000 条数据时,如果有些数据是重复的,有没有办法跳到 sql server insert 中的下一条记录并确保非重复数据进入?我真的不在乎没有插入重复项. 解决方案 使用“忽略重复键"选项. 最简单的方法是在 SQL Server Management Studio 中删除主键. ..
发布时间:2021-06-21 18:41:14 数据库