auto-increment相关内容

删除后重置 SQL Server 中的自动增量

我从 SQL Server 数据库的表中删除了一些记录. 表中的 ID 如下所示: 9910010112001201…… 我想删除后面的记录(ID > 1200),然后我想重置自动增量,这样下一个自动生成的 ID 将是 102.所以我的记录是连续的,有没有办法在 SQL Server 中做到这一点? 解决方案 发出以下命令以重新播种 mytable 以从 1 开始: D ..
发布时间:2021-11-30 20:37:31 数据库

PostgreSQL 自增

我正在从 MySQL 切换到 PostgreSQL,并且想知道如何进行自动增量值.我在 PostgreSQL 文档中看到数据类型为“串行",但在使用它时出现语法错误(在 v8.0 中). 解决方案 是的,SERIAL 是等效的功能. 创建表 foo (序列号,条形变量);INSERT INTO foo (bar) VALUES ('blah');INSERT INTO foo (bar) ..
发布时间:2021-11-30 20:37:20 其他开发

SQL Server,如何在不丢失数据的情况下创建表后设置自动增量?

我在 SQL Server 2008 中有一个表 table1,其中有记录. 我希望主键 table1_Sno 列是一个自动递增的列.这可以在不进行任何数据传输或表克隆的情况下完成吗? 我知道我可以使用 ALTER TABLE 添加自动增量列,但是我可以简单地将 AUTO_INCREMENT 选项添加到作为主键的现有列吗? 解决方案 更改 IDENTITY 属性实际上只是元数据 ..
发布时间:2021-11-30 20:37:11 数据库

自增表列

使用 Postgres,我尝试使用 AUTO_INCREMENT 在 SQL 中自动给我的主键编号.但是,它给了我一个错误. CREATE TABLE Staff (ID INTEGER NOT NULL AUTO_INCREMENT,名称 VARCHAR(40) NOT NULL,主键(ID)); 错误: ********** 错误 **********错误:“AUTO_INCREMENT ..
发布时间:2021-11-30 20:37:00 其他开发

如何在 Oracle 上使用 AUTO_INCREMENT 创建 id?

在 Oracle 中似乎没有 AUTO_INCREMENT 的概念,直到并包括版本 11g. 如何在 Oracle 11g 中创建一个行为类似于自动增量的列? 解决方案 Oracle 中没有“auto_increment"或“identity"列之类的东西从 Oracle 11g 开始.但是,您可以使用序列和触发器轻松对其进行建模: 表定义: 创建表部门(身份证号码(10)非 ..
发布时间:2021-11-30 20:36:52 数据库

在 Android 上为 SQLite 使用 AUTOINCREMENT 的开销是多少?

在 SQLite 文档中,它包括以下内容:- AUTOINCREMENT 关键字强加了额外的 CPU、内存、磁盘空间和磁盘 I/O 开销,如果不是严格需要,应该避免.这是通常不需要. 和 AUTOINCREMENT 关键字实现的行为是巧妙的与默认行为不同.使用 AUTOINCREMENT,行自动选择的 ROWID 保证具有具有以前从未被同一个数据库中的同一个表使用过.而自动生成的 ..
发布时间:2021-11-27 21:45:10 移动开发

Android Room - 如何在每次运行应用程序时重置自动生成的表主键

我正在使用 Room 来保存数据. 我有一个实体,它有一个模拟票务系统的自动生成(自动生成)主键.在每次运行应用程序时,我都需要此密钥从 0 开始. 实体: @Entity公共类 SequenceAction {@PrimaryKey(autoGenerate = true)私有整数序列ID;私人字符串动作类型;私人字符串 extraInfo;//getter &二传手} 初始化: ..
发布时间:2021-11-27 20:56:58 移动开发

如何在 Android Gradle 中自动增加 versionCode

我正在试验基于 Gradle 的新 Android 构建系统,我在想,用它自动增加 versionCode 的最佳方法是什么.我在考虑两种选择 创建versionCode文件,从中读取数字,增加它并将其写回文件 解析AndroidManifest.xml,从中读取versionCode,增加它并写回AndroidManifest.xml 有没有更简单或更合适的解决方案? 有没有 ..
发布时间:2021-11-27 19:19:26 移动开发

休眠自动增量 ID

我有一个使用带有注释的休眠的 j2ee 应用程序.如何在我的 pojo 类中注释 Id 字段以将其设置为自动增量或自动生成.在添加 bean 时,我是否将该字段留在我的 bean 中? 解决方案 @Id@GeneratedValue(策略=GenerationType.AUTO)私有整数 ID; 并且在持久化时将其保留为 null (0).(null 如果您使用 Integer/Long ..
发布时间:2021-11-25 19:57:52 Java开发

如何强制 MySQL 将 0 作为有效的自动递增值

长话短说,我有一个 SQL 文件,我想将其导入为 skel 样式文件,因此这将以编程方式重复执行.我可以随意编辑 SQL 文件,但我不想接触应用程序本身. 此应用程序使用 userid = 0 来表示匿名用户.它还在数据库中有一个相关的(空白)条目来表示这个“用户".因此,我的 skel.sql 中的行看起来像这样: INSERT INTO `{{TABLE_PREFIX}}users` ..
发布时间:2021-11-20 22:49:13 数据库

如何填“洞"在自增字段中?

我读过一些关于这个的帖子,但没有一个涉及这个问题. 我想这是不可能的,但我还是会问. 我有一个包含 50.000 多个寄存器的表.这是一个旧表,其中发生了各种插入/删除操作. 也就是说,在大约 300 个寄存器中存在各种“漏洞".即:..., 1340, 1341, 1660, 1661, 1662,... 问题是.有没有一种简单/简单的方法可以让新的插入物填充这些“洞"? ..
发布时间:2021-11-20 22:11:33 数据库

将自动递增 ID 添加到现有表?

我有一个预先存在的表,包含“fname"、“lname"、“email"、“password"和“ip".但现在我想要一个自动增量列.但是,当我输入: ALTER TABLE 用户添加 id int NOT NULL AUTO_INCREMENT 我得到以下信息: #1075 - 表定义不正确;只能有一个自动列,并且必须将其定义为键 有什么建议吗?:) 解决方案 试试这个 ALT ..
发布时间:2021-11-20 22:08:37 数据库

防止 InnoDB 在 DUPLICATE KEY 上自动递增

我目前在设置为 auto increment 的主键 ID 有问题.它不断递增 ON DUPLICATE KEY. 例如: ID |字段 1 |字段 21 |用户 |价值5 |第二个用户 |价值86 |第三用户 |价值 从上面的描述中,您会注意到我在该表中有 3 个输入,但由于每次更新时自动递增,第三个输入的 ID 为 86. 有没有办法避免这种情况? 这是我的 mySQL ..
发布时间:2021-11-20 22:05:55 PHP

您可以在一条语句中访问 MySQL 中的自动增量值吗?

我有一个包含用户表的 MySQL 数据库.表的主键是'userid',设置为自增字段. 我想要做的是,当我向表中插入新用户时,使用与自动增量在不同字段“default_assignment"中的“userid"字段中创建的值相同的值. 例如 我想要这样的声明: INSERT INTO users ('username','default_assignment') VALUES ..
发布时间:2021-11-20 22:04:52 数据库

为什么 MySQL 自动增量会在插入失败时增加?

一位同事刚刚让我意识到 MySQL 的一个非常奇怪的行为. 假设您有一个带有 auto_increment 字段和另一个设置为唯一字段的表(例如用户名字段).当尝试使用表中已有的用户名插入一行时,插入失败,正如预期的那样.然而,当您在多次尝试失败后插入有效的新条目时,可以看出 auto_increment 值会增加. 例如,当我们的最后一个条目看起来像这样...... ID:10用户 ..
发布时间:2021-11-20 22:03:35 数据库

防止 MySQL 重复插入的自动增量

使用 MySQL 5.1.49,我正在尝试实现一个标记系统我的问题是一个有两列的表:id(autoincrement), tag(unique varchar) (InnoDB) 当使用查询时,INSERT IGNORE INTO tablename SET tag="whatever",即使插入被忽略,自动递增的id值也会增加. 通常这不会成为问题,但我希望有很多可能的尝试为这个特定 ..
发布时间:2021-11-20 21:57:06 数据库

SQL:创建具有 2 个不同 auto_increment 的关系表

我有 2 个表,它们都有自己的自动递增 ID,它们当然是主键. 当我想创建第三个表来建立这两个表之间的关系时,总是出错. 第一个是关于你只能有 1 个自动递增的列,当我从那 2 个中删除 auto_increment 语句时发生第二个,因此 sql 不允许我将它们设为外键,因为类型匹配失败. 有没有一种方法可以在不丢失自动增量功能的情况下创建关系表? 另一种可能(但不是首选 ..
发布时间:2021-11-20 21:48:34 数据库

如何处理 MySQL 中 auto_increment ID 列的碎片

我有一个带有 auto_increment 字段的表,有时行会被删除,因此 auto_increment 会留下空白.有没有办法避免这种情况,或者如果没有,至少,如何编写一个 SQL 查询: 将 auto_increment 值更改为最大值(当前值)+ 1 返回新的 auto_increment 值? 我知道如何编写 1 和 2 部分,但我可以将它们放在同一个查询中吗? 如果这 ..
发布时间:2021-11-20 21:43:07 数据库