MySQL:更新的自动增量

MySQL:更新的自动增量,mysql,key,auto-increment,sql-insert,insert-update,Mysql,Key,Auto Increment,Sql Insert,Insert Update,插入新行时,自动增量id为该行获取一个新值(previous+1)。在更新的情况下,如何使mysql自动递增 假设最后插入的行的id为10。如果我插入一行,它的id将是11。如果抛出更新命令,如何将第7行的id更新为12 我尝试了以下方法,确实更新了id=12,但是auto_increment仍然保留在11上,并且在运行update命令后,它导致了插入的重复键“11”异常 update `users` set id = LAST_INSERT_ID()+1 where cid = "c1" a

插入新行时,自动增量
id
为该行获取一个新值(previous+1)。在更新的情况下,如何使mysql自动递增

假设最后插入的行的id为10。如果我插入一行,它的
id
将是
11
。如果抛出更新命令,如何将第7行的id更新为
12

我尝试了以下方法,确实更新了id=
12
,但是
auto_increment
仍然保留在
11
上,并且在运行update命令后,它导致了插入的
重复键“11”异常

update `users` set id = LAST_INSERT_ID()+1  where cid = "c1" and uid = "p1"

即使对于
更新
插入,我如何使自动增量到增量。。在重复密钥更新时

只需添加一个名为
updatedAt
的时间戳列,它可以为您提供所需的顺序,对吗?@juergend我考虑过了。使用时间戳的问题是,我需要每个记录都有一个唯一的时间戳和一个索引(就像id一样),因为我必须根据时间戳查询数据库。例如:为某个cid&uid在特定时间戳上或下取100行。有什么解决方法吗?我可以使用分数时间戳,最长可达微秒,但对于单个查询中插入的行,即使时间戳也是一样的。除此之外,在上面使用索引是一个好主意吗?除了我已经拥有的其他必需的索引之外?(虽然我在id的情况下也会使用额外的索引,但是带有分数时间戳,索引大小会更大)只需添加一个名为
updatedAt
的时间戳列,它会为您提供所需的顺序,“是吗?”我想了想。使用时间戳的问题是,我需要每个记录都有一个唯一的时间戳和一个索引(就像id一样),因为我必须根据时间戳查询数据库。例如:为某个cid&uid在特定时间戳上或下取100行。有什么解决方法吗?我可以使用分数时间戳,最长可达微秒,但对于单个查询中插入的行,即使时间戳也是一样的。更重要的是,除了我已经拥有的其他必需的索引之外,使用索引是一个好主意吗?(虽然我会在id的情况下使用额外的索引,但是带有分数时间戳,索引大小会更大)