问题标签 [identity-column]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1300 浏览

sql-server - SQL Server 2008:如果标识超过 int 的最大值会发生什么?

假设我们有一张桌子:

我们必须在表中插入很多行。

有谁知道当生成的标识值超过最大整数值 (2^63-1) 时会发生什么?

0 投票
1 回答
283 浏览

sql - 将标识列添加到始终在变化的现有表中

我有一个现有的表,其中有 1500 万行。我想添加一个标识列并将其设为主键。问题是这个表总是在移动(插入、更新、删除)。是否可以使用此添加标识列?或者我必须停止更新此表的背景流程(这是一项乏味的任务)?

谢谢维克拉姆

0 投票
1 回答
437 浏览

asp.net-mvc - 我应该如何处理维护 Linq / Entity Framework 中新记录的行标识?

将 Linq 和 EF 与 SQL 一起使用时,创建新的唯一共享密钥的正确方法是什么?

我可以在插入记录时使用 GUID,但我只希望我的密钥中包含 7 个数字或字符,因为它们将出现在我的 MVC 应用程序的 URL 中。如果这不是一个选项,或者使用 GUID 更好,请告诉我。

0 投票
3 回答
247 浏览

sql - 我的 SQL 语句将“Arnold Schwarzenegger”和“Hasta la vista baby”插入这两个空 SQL 表中是什么?

将“Arnold Schwarzenegger”和“Hasta la vista baby”插入到以下空 SQL 表中,我的陈述是什么?

这个问题的标题原本是“如何将第一条记录插入到具有双向关联和自动生成整数PK的SQL表中?” 但我不确定我的措辞是否正确......基本上,我有两张桌子ActorsCatchPhrases.

Actors好像:

CatchPhrases好像:

因此,Actor 可以有多个流行语,但必须至少有一个。流行语与演员相关联。目前这两个表中都没有数据。

0 投票
2 回答
12563 浏览

sql - SQL:设置 IDENTITY_INSERT ON 会禁止更新表的身份表吗?

我目前正在从事一个数据迁移项目,对于与性能相关的问题,我想预定义一组身份,而不是让表生成它们。

我发现将属性添加到列中并不容易identity,所以我想使用IDENTITY_INSERT ON语句。

我的问题是:这会禁用对表身份表的更新(这会影响性能),还是我需要真正删除identity列的属性?

0 投票
2 回答
639 浏览

sql-server - SQL Server - 即使在回滚的情况下,如何确保标识字段正确递增

在 SQL Server 中,如果涉及插入新行的事务被回滚,则会在标识字段中跳过一个数字。

例如,如果Foos表中的最高 ID 为 99,那么我们尝试插入新Foo记录但回滚,则 ID 100 被“用完”,下一Foo行将编号为 101。

有什么方法可以改变这种行为,以保证身份字段是连续的?

0 投票
5 回答
152338 浏览

sql - 插入 Oracle 并检索生成的序列 ID

我有一些针对 SQL Server 的原始 SQL 查询,它们使用 SCOPE_IDENTITY 来检索特定 INSERT 的生成 ID,在该 INSERT 发生在一次执行之后立即...</p>

问题是:

对于 Oracle 数据库,最好的方法是什么?

这可以通过标准 SQL 在 Oracle 上完成,还是我必须切换它以使用存储过程并将类似的东西放在存储过程的主体中?

如果它必须是一个存储过程,那么检索最后生成的序列号的事实上的标准方法是什么,注意考虑到多个线程上可能会有重叠的执行,所以这个机制需要检索正确的生成 ID 和不一定是最后生成的绝对 ID。

如果两个同时执行,则每个都必须从各自的调用中返回正确的生成 ID。请注意,由于调用的多线程性质,我没有使用 SQL Server 的“@@IDENTITY”。

如果可能的话,我宁愿将其保留为原始 SQL,因为这对我来说更容易跨平台管理(包含每个平台的 SQL 块的单个文件,由 DBMS 标识标签分隔)。存储过程对我来说需要更多的工作来管理,但如果这是唯一可能的方式,我可以这样做。

0 投票
4 回答
16009 浏览

stored-procedures - SQL Server 2008 R2 插入带有标识字段的存储过程语法

下午好,

我编写了一个非常基本的存储过程,用于将 QuestionText 和 QuestionStatus 插入 Questions 表中,并且 QuestionID int Primary Key 设置为具有标识。

语法如下:

当我执行存储过程时,我收到以下错误:

INSERT 语句中的列多于 VALUES 子句中指定的值。VALUES 子句中的值数必须与 INSERT 语句中指定的列数相匹配。

正确插入记录并允许 QuestionID 在每次插入时自动递增的正确语法是什么?

非常感谢您的帮助和指导。

更新的存储过程语法

0 投票
5 回答
4717 浏览

sql-server - 重新排列 sql server 中的标识列值


请帮我!我有一个表将一个标识字段的值是,例如,1、2、4、6、8、10、11 ....等。

我想按顺序制作,即1,2,3,4,5,6,7...不使用drop

谢谢

0 投票
3 回答
95 浏览

c# - 错误 ID 的伪增量编号会是个问题吗?

请注意,当我说“客户”时,我指的是已注册该服务的企业或组织。

我正在创建一个错误跟踪应用程序。我决定对应用程序实例和数据库都采用多租户方法。

因此,有一个巨大的错误表,其中包含来自所有客户端的条目。错误 ID 是一种身份规范。因此,当任何客户端下的任何用户添加错误时,它都会增加。对于只添加了 3 个任务的客户端,任务 ID 可能是 #45、#49、#53,因为其他客户端的用户可能在两者之间添加了一些!

从用例的角度来看,这是否可以接受?

有时,客户可能会将最新的错误 ID 作为错误数量的粗略衡量标准。但实际上这将是系统中的全部错误。或者,如果他们的第一个错误是从 #51134 开始的,他们会感到非常惊讶!

另一方面,如果我在“幕后”有这个特定的 ID,并分别为每个客户计算一个“可见的”ID,他们将按顺序看到这些数字。但是,当在 URL 中将参考错误 ID 作为参数传递时,我不能使用用户可见的 ID,因为它不是唯一的。我不认为 ClientID - BugID 组合会很优雅。恐怕使用原始标识规范值会引起混淆,因为用户会在 UI 中看到一个 ID,而在 URL 中看到另一个 ID。无需说开发人员会尝试通过更改 ID 来使用 URL 并观察它失败。

我该如何解决这个问题?我不想采用多数据库方法,因为我有点害怕维护和升级过程。