jjzjj

incremental

全部标签

mysql - 使用子查询mysql在同一个表中更改auto_increment

我正在使用mysql。我有一个带有auto_increment计数器集的数据库表。现在由于一项要求,我需要保留100个起始ID,并从101开始移动所有现有记录,因此当前ID1将变为101,ID2将变为102,依此类推。我可以将记录移动到101,但问题是如何将auto_increment计数器更改为max(id)+1。我的主要限制是我需要在单个sql语句中完成。我无法使用@counter保存该值并在以后使用它。我尝试使用下面的查询ALTERTABLEroleAUTO_INCREMENT=(SELECTrd.counterFROM(SELECT(MAX(id)+1)AScounterFRO

mysql auto_increment 5?

我遇到了一个非常非常非常奇怪的mysql问题。我有一个主键“id”。它设置为自动递增。问题是,第一个条目从“3”开始。每个新条目增加5,所以下一个条目的id是8,下一个是13,然后是18,依此类推。这是愚蠢的。为什么它不像应该的那样只增加1?为什么从3点开始???我是否缺少某些设置?如果有帮助,我正在使用phpmyadmin。 最佳答案 有一个my.cnf配置:auto_increment_increment.它用于主-主服务器设置,以防止相同的key被两个不同的服务器定义两次。因此,将其与auto_increment_offset

php - MySQL InnoDB AUTO_INCREMENT 辅助列

我正在制作一个系统,用户可以在其中上传他们想要的任何文件,而不用它来执行任何类型的代码。作为其中的一部分,我重命名了每个文件,并将其原始名称存储在MySQL表中。此表包含上传它的用户的ID,以及上传的唯一ID。目前我是这样做的:CREATETABLE`uploads`(`user_id`INT(11)NOTNULL,`upload_id`INT(11)NOTNULLAUTO_INCREMENT,`original_name`VARCHAR(30)NOTNULL,`mime_type`VARCHAR(30)NOTNULL,`name`VARCHAR(50)NOTNULL,PRIMARYK

mysql - 如何在记录删除后从上次停止的地方创建一个 id auto_increment?

这没什么大不了的,但我想知道是否可以做到。现在,当我插入一条新记录时,自动增量并设置为主键的id字段将其值增加一个:id|first_name|last_name------------------------------1|John|Smith2|Jane|Doe但是,如果我删除记录2,我插入的下一条记录的ID将为3。有什么方法可以让它的ID自动为2(无需手动插入)? 最佳答案 auto_increment计数器(至少,对于InnoDB)保存在表元数据中,并且独立于表中的数据:它是递增的当插入一些数据时,仅此而已。所以,不,不可能

mysql - 如何在 InnoDB 中不回收 auto_increment ID

我最近read由于InnoDB在服务器重新启动时重新计算AUTO_INCREMENT值的方式,ID列表高端的任何记录都可能会重用它们的ID。通常,这不是问题,因为删除用户时,与该ID关联的所有内容也会从其他表中删除。但我故意让他们的论坛帖子成为孤儿,标记为“由=User#123=发布”,以便保留过去的对话。显然,如果重复使用ID,这将是一个问题。我以前从未遇到过这个问题,因为总是有足够多的新用户使ID不太可能以这种方式重复使用。然而,在我的新项目中,注册很少见,不活跃的用户删除也很频繁(特别是因为“开放Alpha”帐户仅作为预览持续三天),这种ID重用现在已经发生了三对三。我已经通过在

MySQL : Drop all existing primary keys and insert a new auto increment primary key

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6年前。Improvethisquestion在MySql数据库表中已经有两个主要(复合)表并且该表有大约50000行。现在我需要删除那些主键并添加一个新的自动递增主键id。我需要我所有的行都应该保持不变,并且将被分配唯一的id。现在执行此操作的查询字符串是什么。我已经试过下面的代码但是有错误#1064-您的SQL语法有误;检查与您的MySQL

mysql - 确保 MySQL 中的 auto_increment 值排序

我有多个线程将事件写入MySQL表events。该表有一个配置为auto_increment的tracking_no列,用于强制对事件进行排序。不同的读者从events中消费,他们定期轮询表以获取新事件并保留最后消费的事件的值以在每次轮询时获取所有新事件。事实证明,当前的实现有可能遗漏一些事件。这是正在发生的事情:Thread-1开始“插入”事务,它从auto_increment列(1)中获取下一个值,但需要一段时间才能完成Thread-2开始“插入”事务,它采用下一个auto_incremente值(2)并在Thread-1之前完成写入。Reader轮询并询问tracking_num

mysql - 复合主键和 Auto_Increment

这个问题在这里已经有了答案:mysqltwocolumnprimarykeywithauto-increment(4个答案)关闭9年前。我正在尝试使用其中一个自动递增的复合键,但是当我尝试输入新行时,它只是继续顺序。这是发生的事情的例子:Item_1|Item_21|11|22|32|42|5这是我想要的示例:Item_1|Item_21|11|22|12|22|3我这样创建表:CREATETABLEIFNOTEXISTS`usuarios`(`cod_user`int(11)NOTNULLAUTO_INCREMENT,`cod_user_emp`int(11)NOTNULL,PRIM

mysql - 无法更改 mysql 中的 auto_increment_increment 值

我有一个数据库,它的一个表开始自动将值递增10。我从来没有明确地设置它,但出于某种原因它正在这样做。我尝试使用以下方法将auto_increment_increment值重置为1:SET@@auto_increment_increment=1;但它并没有改变!我尝试使用命令行来执行此操作,但它仍然无法执行。还有一件事,在我的本地机器上auto_increment工作正常(它设置为1),但这是我的服务器上的问题。当我在命令行上使用mysql时,我以“root”用户身份登录。有人可以建议我的数据库有什么问题吗?感谢帮助。 最佳答案 感谢

mysql - 强制 auto_increment 跳过某些值?

作为我当前项目的一部分,URL可能如下所示:http://example.com/summary/ab123最后一部分是使用自定义字母表运行有效base_convert(~,10,64)之后的整数ID。但是,字母可以拼写东西。例如,当ID1,950,434出现时,URL将是:http://example.com/summary/shit所以...是的。有什么方法可以“保留”形成不需要的单词的ID并使AUTO_INCREMENT字段跳过它们吗? 最佳答案 虽然您可以通过创建一个检查自动生成的ID的触发器来在数据库中实现某些功能,如果该