问题标签 [auto-increment]

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 投票
10 回答
32397 浏览

sql - 你能在一个语句中访问 MySQL 中的自动增量值吗?

我有一个包含用户表的 MySQL 数据库。表的主键是“userid”,设置为自动递增字段。

我想做的是,当我将新用户插入表中时,使用与自动增量在不同字段“default_assignment”的“userid”字段中创建的相同值。

例如

我想要这样的声明:

所以我创建了用户“Barry”,“userid”生成为 16(例如),但我也希望“default_assignment”具有相同的值 16。

请问有什么办法可以实现吗?

谢谢!

更新:

感谢您的回复。default_assignment 字段不是多余的。default_assigment 可以引用 users 表中的任何用户。创建用户时,我已经有一个允许选择另一个用户作为 default_assignment 的表单,但是在某些情况下需要将其设置为同一用户,因此我的问题是。

更新:

好的,我已经尝试了更新触发建议,但仍然无法使其正常工作。这是我创建的触发器:

但是,当插入新用户时,default_assignment 始终设置为 0。

如果我手动设置用户 ID,则 default_assignment 确实设置为用户 ID。

因此,自动分配生成过程显然发生在触发器生效之后。

0 投票
13 回答
445990 浏览

sql-server - 删除后在 SQL Server 中重置 AutoIncrement

我已经从 SQL Server 数据库的表中删除了一些记录。

表中的 ID 如下所示:

99 100 101 1200 1201...

我想删除后面的记录(ID > 1200),然后我想重置自动增量,以便下一个自动生成的 ID 为 102。所以我的记录是连续的,有没有办法在 SQL Server 中做到这一点?

0 投票
5 回答
10846 浏览

sql - 没有自动增量字段的数据库上的自动增量字段

在 MS Sql Server 中很容易创建自动增量字段。在我的系统中,我停止对主键使用自动增量字段,现在我使用 Guid。太棒了,这种变化给我带来了很多好处。但在另一个非主键字段中,我确实需要实现“软自动增量”。这是因为我的系统是独立于数据库的,所以我在 c# 中以编程方式创建了 autoinc 值。

我想要关于没有自动增量的数据库上的自动增量字段的解决方案,您使用什么解决方案以及为什么?有一些关于这个的 Sql Ansi 声明?并直接从我的 c# 生成,是更好的解决方案吗?

PS:我知道select max(id)+1 from table它并不是真正的并发友好...

0 投票
5 回答
36261 浏览

sqlite - 如何使用VB6在SQLite中返回AUTO INCREMENT列的值

我在 SQLite 中有一个表:

由于 EventTypeID 是一个整数和一个主键,它会自动使其成为一个自动递增的列,并且工作正常。

我想在表中插入一行并从 VB6 中获取新增加的值。

是否有一种自动方法来检索新创建的 EventTypeID 而无需发出另一个查询(从 EventType 中选择 max(EventTypeID))?

我似乎记得很久以前的VB6,有一种方法可以做到这一点。

0 投票
4 回答
128827 浏览

sql - 具有增量整数列的 MSSQL Select 语句...不是来自表

如果可能,我需要一个 t-sql 查询,它从任意表返回值,还返回一个增量整数列,第一行的 value = 1,第二行的 value = 2,依此类推。

该列实际上并不驻留在任何表中,并且必须严格递增,因为 ORDER BY 子句可以对表的行进行排序,并且我希望增量行始终保持完美的形状......

提前致谢。

--EDIT 对不起,忘了说,必须在 SQL Server 2000 上运行

0 投票
1 回答
2184 浏览

delphi - 如何在带有 BlackFish 的 DBx4 中使用整数自动增量字段?

我正在尝试将 dbx4 中的自动增量字段与黑鱼数据库一起使用我有一个简单的表结构:

在打开之前我正在做:

打开后:

如果我做:

或者,如果我在 DBGRID 中使用它,它会失败并出现错误:

“字段‘ID’必须有值”</p>

女巫应该已经生成了。

如果我运行 INSERT 查询,不管有没有“AutoGenerateValue := arAutoInc”行,它都可以正常工作。

我该如何克服这个问题?

0 投票
6 回答
3513 浏览

sql - 重置自增列

我最近将项目添加到 ID 并且表格在传输过程中搞砸了,所以我从表格中删除了项目。在重新输入数据而不是从 1 开始的 ID 后,它现在从 332 开始。我想让表格从 1 开始而不是 332。我已经从数据中删除了数据,所以很清楚。如何将 ID 重置为一个。感谢和抱歉,如果这个在某个地方我不知道如何搜索这个。

0 投票
6 回答
21024 浏览

ruby-on-rails - 在 Rails 中将自动增量添加回主键列

我错误地从表的 id 字段中删除了自动增量选项。谁能告诉我如何通过迁移重新插入自动增量选项?

0 投票
7 回答
47900 浏览

php - SQL - 插入并捕获 id 自动增量值

使用 SELECT 在同一 SQL 中获取 auto-id 值的最佳方法是什么?

一个论坛说 在 ASP 中的 SQL 代码末尾添加这个“ ; has Return Scope_Identity()” 。

PHP中有对应的方法吗?

0 投票
6 回答
16442 浏览

sql - 你可以在 MySql 中使用自动增量而不是主键吗

我使用 GUID 作为所有其他表的主键,但我有一个需要递增数字的要求。我尝试使用自动增量在表中创建一个字段,但 MySql 抱怨它需要成为主键。

我的应用程序使用 MySql 5,nhibernate 作为 ORM。

我想到的可能的解决方案是:

  • 将主键更改为自动增量字段,但仍将 Id 作为 GUID,因此我的应用程序的其余部分是一致的。

  • 使用 GUID 和自动增量字段创建复合键。

我目前的想法倾向于复合关键思想。

编辑:行 ID(主键)是当前的 GUID。我想添加一个自动递增的 INT 字段,以便人类可读。我只是不想摆脱将 GUID 作为主键的应用程序中的当前标准。