问题标签 [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.
mysql - 帮助在 mysql 中创建自定义自动增量函数
我想创建一个自动增量函数,允许我在多个表的指定列中保持唯一性。
我知道这在 mysql 的标准函数下不受支持,但似乎可以手动完成。有人能指出我正确的方向吗?
谢谢
c# - 如何更新 DataTable 中的所有自动增量列?
我有一个带有“Id”列的 DataTable,它是我们 SQL Server 2005 数据库中的一个标识列。此列的 AutoIncrement 属性设置为 true。我没有用数据库中的数据填充表,因为我只将它用于插入,所以它从 1 开始分配虚假 ID。
但是在我调用 tableAdapter.Update() 之后,我希望在该列中有由数据库分配的 REAL Id。
出于某种原因,只有第一行得到更新,其余的都没有。该表使用级联 DataRelation(分层结构)引用自身,并且对第一行的引用也会更新。
请告诉我如何相应地更新所有 ID。
提前致谢!
插入语句:
这里是组件表的架构:
请注意,Id 列的名称是“Id”,“ComponentId”是 FK 引用列。
sql-server-2005 - SET IDENTITY_INSERT 从 SQL Server 2000 到 2005 的行为有何不同?
我有一个应用程序(当前)需要使用 SQL Server 2000 和 SQL Server 2005 提供的数据库。
我正在尝试以编程方式将数据库从一台服务器移动到另一台服务器。我使用的所有表都有一个自动递增的主键。由于这些自动增量键在其他表中用作外键,因此我复制表的攻击计划是暂时关闭目标表上的自动增量,逐字插入记录(使用原始主键),然后打开自动- 重新增加。
如果我理解正确,我可以通过执行一次“打开/关闭自动增量”一个表
我的实现是在 VB 2005 中,使用 System.Data.SqlClient。
为简洁起见,我将只显示与 SQL 查询的构造相关的代码行。
要创建表:
要打开或关闭 IDENTITY_INSERT:
正常插入新记录,不指定主键:
要插入具有显式主键的新记录:
所以,我的计划是调用打开 IDENTITY_INSERT 的代码,添加带有显式主键的记录,然后关闭 IDENTITY_INSERT。
当我与 SQL Server 2000 交谈时,此方法似乎可以正常工作,但是当我尝试针对 SQL Server 2005 使用完全相同的代码时遇到了异常:
有什么提示吗?一如既往地提前感谢。
java - 未提交的数据库事务和自增列
我今天遇到了一些奇怪的行为,想知道这是预期的还是标准的。我们正在对 MySQL5 使用 Hibernate。在编码过程中,我忘记关闭交易,我想其他人可以联系起来。
当我最终关闭事务、运行代码并检查表时,我注意到以下内容。我一直错误地运行我的代码而没有关闭事务,因此没有导致插入实际的行,但是增加了自动增量代理主键值,所以我有一个间隙(即没有 id 字段值的行751 至 762)。
这是预期的还是标准的行为?它可能因数据库而异吗?和/或 Hibernate 自己的事务抽象是否对此有一些可能的影响?
c# - C#/SQL 获取自动递增的字段值
我有一个带有自动递增主键的表。在我的代码中,我试图在执行每个“插入”查询时接收新的自动增量值。有没有办法以编程方式做到这一点?
谢谢。
UPD:假设我有一张表:TABLE User (userID INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (userID));
当我向该表中插入新值(姓名和电子邮件)时,我希望自动接收新生成的用户 ID。理想情况下,我正在寻找使用单个事务且无需存储过程的任何方法。
mysql - 在没有 WHERE 的情况下删除后 MySQL 自动递增值
跑步后发现,
我的 ID(自动递增)值变得很奇怪
按照这个顺序,当我做一个时,
我知道认证指南说,当使用 DELETE without WHERE 清空表时,ID 可能会或可能不会被重置,但是是什么导致 ID 序列如此奇怪?我很确定这是插入行的顺序。最初在删除之前,我在表中有 6 行,所以 7、8、9 似乎可以理解。
database - 多个数据库/服务器信息的 ID
我正在从事一个项目,我希望从一开始就尽可能地灵活和可扩展。我担心的一个问题是 Joshua Schacter 在Founders at Work中描述得最好的一个问题,他指出这是一个他希望他能提前计划好的细节。
扩展到一台机器、一个数据库是非常具有挑战性的,即使是复制也是如此。那里的工具并不完全正确。
例如,当您将东西添加到表中并对其编号时,这意味着您不能让第二台机器也添加到它们中,因为数字会发生冲突。所以你会怎么做?你必须想出一些完全不同的方法来做到这一点。
您是否有一个分发数字集的中央服务器,或者您想出一些不是数字的东西?您是否使用随机数并希望它们永远不会发生冲突?不管是什么,自动分配的 ID 都不会飞。
这里有人遇到过这个问题吗?有什么方法可以超越自动递增的 ID,或者有没有办法让它们与多个服务器一起扩展?
php - 在使用准备好的语句执行插入查询后获取自动增量 ID
如果我使用带有 php 和 mysqli * 函数的存储过程执行插入查询_
,有没有办法检索自动增量 id 字段的值?
mysqli->insert_id
似乎不起作用。
ruby-on-rails - 我可以创建一个 ID 从 0 而不是 1 自动递增的 Rails 模型吗?
我可以创建一个 ID 从 0 而不是 1 自动递增的 Rails 模型吗?如何?有什么陷阱吗?我在这里检查过,似乎我不能:
http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#M001911
如果,看起来,我不能,有什么理由我不能或不应该手动为这个类的第一个实例分配一个 ID 0?如果我这样做了,Rails 会自动为下一个创建的实例分配一个 ID 1 吗?
subsonic - SubSonic PrimaryKey 不自动递增
当前版本的 SubSonic 是否支持非自动增量的 PrimaryKey (Int)?如何?
PS:如果我不使用 SimpleRepository() 我可以使用分配的 Id 保存新记录,所以我或多或少可以继续,thz。