当前位置: 首页 > 面试题库 >

自动增量已自动重置为1

邓俊材
2023-03-14
问题内容

我刚遇到一个我无法解决的问题。

我有一个project_queues用作队列的数据库表,我在其中存储一些记录。处理记录后,它们将被删除。删除是由Rails构建record.destroy在一个触发DELETE record FROM tableMySql数据库的循环中调用的。

但是现在我注意到,在表project_queues中将 autoIncrement Id (主键)设置回 1
。(这损坏了我在审计表中的引用。相同记录现在指向多个不同的项目队列)

show create table project_queues;

CREATE TABLE `project_queues` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
   ...
   ...
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1

我不使用TRUNCATE project_queues或删除表构造,而是在代码中再次创建它。

是否有人遇到像我这样的类似问题?我在html" target="_blank">日志中也找不到任何异常。

我正在使用 Rails 5.2.3MariaDB 10.1

从应用程序到数据库的连接强制执行以下SQL模式:

  • NO_AUTO_VALUE_ON_ZERO
  • STRICT_ALL_TABLES
  • NO_AUTO_CREATE_USER
  • NO_ENGINE_SUBSTITUTION
  • NO_ZERO_DATE
  • NO_ZERO_IN_DATE
  • ERROR_FOR_DIVISION_BY_ZERO

但是我不认为这些与人工智能有关。


问题答案:

解决了

我已经升级10.1.29-MariaDB MariaDB Server10.2.8-MariaDB MariaDB Server

版本> =
10.2.4解决了自动增量值的重置



 类似资料:
  • 问题内容: 我正在尝试建立一个脚本以在数据库中生成一组特定的测试数据,在该脚本的开头,我想清除有关表而不删除约束(因为测试数据不是重建约束的适当位置)并为每个表重置AUTO_INCREMENT,因为如果可以硬编码许多ID,则设置测试数据要简单得多。 例如,我有两个这样的语句(几乎每个表都有一对): 并且在删除记录时,即使我能找到的所有文档和SO回答都表明这应该可行,但auto-increment值

  • 问题内容: 使用Postgres,我试图用SQL自动编号主键。但是,这给了我一个错误。 错误: 知道为什么吗? 问题答案: Postgres 10或更高版本 列(请参见下文)保持不变。但是考虑一个 专栏。Postgres10实现了此标准SQL功能。 手册中的基本语法和信息。 __用列 创建 表 将 列 添加 到现有表 表可能填充也可能不填充行。 同时使它成为PK(表还不能拥有PK): 有关的: 如

  • 这就是我所拥有的 当程序运行时,会出现一个添加新类别的屏幕,用户必须写入类别的名称和描述,但ID应该是自动的,并且应该在每次用户输入新类别时增加ID。我这样做并没有达到预期效果,它只增加了一次,但由于初始值保持在5,所以它总是6。

  • 问题内容: 我正在尝试在mysql数据库中创建一列,该列自动递增1但从0-Z开始然后滚动。 例如000、001、002,…,009、00A,00B,…,00Z,010,…,0ZZ,…,100。 我想让数据库通过自动递增字段创建列。 我的想法是: 为从0到36的每个字符创建一列,然后将行N(其中N是最低有效数字)自动递增1。然后在每列上添加触发器,以在第N列达到36时向N-1列添加1 。 创建一个包

  • 问题内容: 我有一个带有自动递增主键的MySQL表。我删除了表中间的一些行。例如,现在在ID列中有类似的内容:12、13、14、19、20。我删除了15、16、17和18行。 我想重新分配/重置/重新排序主键,以便保持连续性,即将19设为15,将20设为16,依此类推。 我该怎么做? 问题答案: 您可以删除主键列并重新创建它。然后应按顺序重新分配所有ID。 但是,在大多数情况下,这可能不是一个好主

  • 问题内容: 我正在使用php和mysql。我有一个表,其中id列设置为自动递增作为主键。我正在尝试添加另一个名为sort_order的列。插入行后,sort_order列应自动递增。然后,用户将能够更改sort_order值。但是mysql不允许多于一列的自动递增? 自动递增sort_order值的最佳方法是什么? 受欢迎的要求,更多的解释。 在管理区域中,用户将具有类别列表。用户可以使用java