auto-increment相关内容

获取任何表的当前 AUTO_INCREMENT 值

如何获取 MySQL 中表的当前 AUTO_INCREMENT 值? 解决方案 您可以使用此查询获取所有表数据: SHOW TABLE STATUS FROM `DatabaseName` WHERE `name` LIKE 'TableName' ; 您可以使用此查询准确获取此信息: SELECT `AUTO_INCREMENT`来自 INFORMATION_SCHEMA.TAB ..
发布时间:2021-11-20 21:22:44 数据库

MySQL AUTO_INCREMENT 不回滚

我使用 MySQL 的 AUTO_INCREMENT 字段和 InnoDB 来支持事务.我注意到当我回滚事务时,AUTO_INCREMENT 字段没有回滚?我发现它是这样设计的,但是有什么解决方法吗? 解决方案 让我指出一些非常重要的事情: 你永远不应该依赖自动生成的键的数字特征. 也就是说,除了比较它们是否相等(=)或不相等()之外,您不应该做任何其他事情.没有关系运算符( ..
发布时间:2021-11-20 21:22:18 数据库

从 MySQL 插入查询中获取新记录主键 ID?

假设我正在我的一个表中执行 MySQL INSERT 并且该表具有设置为 autoincrement 的列 item_id 和主键. 如何让查询在同一个查询中输出新生成的主键item_id的值? 目前我正在运行第二个查询来检索 ID,但考虑到这可能会产生错误的结果,这似乎不是一个好习惯...... 如果这是不可能的,那么确保我检索到正确 ID 的最佳做法是什么? 解决方案 ..
发布时间:2021-11-20 21:18:01 数据库

如何在 MySQL 中设置初始值和自动增量?

如何为从 1001 开始的 MySQL 表中的“id"列设置初始值? 我想做一个插入 "INSERT INTO users (name, email) VALUES ('{$name}', '{$email}')"; 不指定 id 列的初始值. 解决方案 使用这个: ALTER TABLE 用户 AUTO_INCREMENT=1001; 或者如果您还没有添加 id 列,也添 ..
发布时间:2021-11-20 21:13:38 数据库

MySQL删除后自动递增

我有一个 MySQL 表,其主键字段开启了 AUTO_INCREMENT.在阅读了这里的其他帖子后,我注意到有人遇到了同样的问题,答案也各不相同.有些人建议不要使用此功能,有些人则表示无法“修复". 我有: 表:课程字段:课程ID,课程名称 示例:表中的记录数:18.如果我删除记录 16、17 和 18 - 我希望输入的下一条记录的 courseID 为 16,但是它将是 19,因为最后 ..
发布时间:2021-11-20 21:12:28 数据库

如何使用某些前缀使 MySQL 表主键自动递增

我有这样的桌子 表id Varchar(45) NOT NULL AUTO_INCREMENT PRIMARY KEY,名称 CHAR(30) 非空, 我想增加我的 id 字段,例如 'LHPL001','LHPL002','LHPL003'... 等.我该怎么做?请让我知道任何可能的方式. 解决方案 如果你真的需要这个,你可以在单独的排序表(如果你不介意的话)和触发器的帮助下实现你的 ..
发布时间:2021-11-20 21:09:26 数据库

如何在 MySQL 中重置 AUTO_INCREMENT

如何重置字段的AUTO_INCREMENT? 我希望它再次从 1 开始计数. 解决方案 您可以通过以下方式重置计数器: ALTER TABLE 表名 AUTO_INCREMENT = 1 对于 InnoDB,您不能将 auto_increment 值设置为小于或等于到目前的最高指数.(引用自 ViralPatel): 请注意,您不能将计数器重置为小于或等于的值到任何已经使用 ..
发布时间:2021-11-20 21:05:26 数据库

如何以干净的方式创建由 ForeignKey 与 RoomDB 相关的行和子项?

这个问题与我的最后一个问题有某种关系,因为它是同一个项目,但现在我正在尝试又向前迈进了一步. 所以,在我之前的问题中,我只有一张桌子;这次我有两个表:新的第二个表应该包含第一个表的行的相关属性,在 OneToMany 关系中.因此,我在第二个表中存储了一个外键,该表将存储第一个表相关行的行 ID(显然). 问题是这样的:目的是使用相同的形式同时创建两个寄存器(父和子),并且 Paren ..

使用PHP的MongoDB自动增量ID

当前,我正在使用此php代码在MongoDB中创建我自己的自动增量ID. $ mongo = new MongoDB \ Driver \ Manager("mongodb://10.1.1.111:27017");$ find = ['_id'=>'campaignid'];$ query =新的MongoDB \ Driver \ Query($ find,[]);$ rows = $ m ..
发布时间:2021-04-12 20:25:21 PHP

更改MySQL自动增量ID列值

我有一个带有 gpid AUTO_INCREMENT NOT NULL UNIQUE 列的mysql表. 填充此表(具有50M +条目)后,我已经意识到,如果由于IntegrityError导致事务失败,mysql仍会增加 AUTO_INCREMENT 列. 结果是 AUTO_INCREMENT 列中的间隔,其中 gpid 跳转值(例如,从 gpid == 3 到 gpid == 5 ..
发布时间:2021-04-12 20:25:18 数据库

SQLite起始行ID为0

我正在尝试建立一个SQLite表,其中rowid从0开始而不是默认值1.最终目标是能够运行第一个INSERT语句并将其插入到rowid 0.对于第一个INSERT,该选项为0. 我尝试了一些与AUTOINCREMENT相关的事情,但没有运气能使它正常工作.我发现的唯一成功方法是插入rowid为-1的行,然后稍后将其删除.这行得通,但是很乱,我想找到一种更干净的方法.我正在使用内置的sqlit ..
发布时间:2021-04-12 20:25:15 数据库

POSTGRES-使用ON CONFLICT DO NOTHING防止序列递增

重复这个问题 说我有以下表格内容.我想要表中的唯一名称,所以没有重复的名称.插入事物的过程无需检查是否已存在具有此名称的事物. 创建表的东西(id小写主键,名称varchar UNIQUE); 当我插入这样的值时,它起作用.如果“办公桌"已经在东西中,则不会插入. INSERT INTO事物(名称)VALUES(“办公桌")冲突时,请勿执行任何操作; 唯一的问题是冲突.“什么都 ..
发布时间:2021-04-12 20:25:12 其他开发

具有自动增量的mongodb第二个ID字段

我想在mongodb集合中有一个附加的ID字段.objectId非常适合获得唯一的ID,但是我需要为用户管理使用较短的ID.这些ID应该类似于 100001 , 100002 等.是否可以通过自动递增获取这些信息? Thx 解决方案 MongoDB没有自动递增功能. 您可以通过在名为"user_sequence"的单独集合中跟踪"id"并在MongoDB中存储自定义函数以获得下 ..
发布时间:2021-04-12 20:25:09 其他开发

MySQL:为什么在自动递增ID时我的INSERT语句会跳过56个数字?

在向我的SQL课程的学生演示INSERT语句的同时,我们提出了MySQL 8.0中的一些奇怪行为.请帮助我们了解正在发生的事情.(不需要变通方法,因为我们知道一些变通方法,这是学习而不是生产.谢谢) 我们正在创建一个新数据库,并从著名的 Sakila复制一些行示例数据库,如下所示: CREATE DATABASE辛普森;使用辛普森;创建表`character`((character_id ..
发布时间:2021-04-12 20:25:01 数据库

如何重新编号T-SQL的系统自动增量标识列?

我在SQL表中有一个自动递增的主键,可以说表看起来像这样: CREATE TABLE [Table](-标识符包含一个空格,并使用保留关键字.[ID] [int] IDENTITY(1,1)NOT NULL,[名称] [varchar](50)为NULL,约束[PK__Table]的主键([ID] ASC));ID |名称|1约翰2杰克3比尔4乔 然后我删除第2行杰克: ID |名称| ..
发布时间:2021-04-12 20:24:58 其他开发