一旦我将此列设置为主键自动增量,那么它每次都会将“id”增加1,即使我删除了前面的行,所以第一行id可能以4或40开头,但我希望id总是可以与行号一起使用,我怎样才能在 mysql 中做到这一点?
最佳答案
您不能也不想做您所要求的事情。主键,尤其是当它只是像“1”、“2”、“3”这样的代理键时,主要与其他表相关时很重要。即表b需要将其外键指向table_a的主键。
现在,如果您能做到您所要求的,会怎样? table_a 中有两行,分别具有 PK 1 和 2。无论出于何种原因,您都会删除第 1 行。如果 table_a 中曾经是第 2 行的行将其 PK 更改为 1,则拥有 table_a 外键的所有其他表现在都会损坏。无论发生什么情况,您都需要它来保留主键。
如果您想查看数据的有序 View ,可以使用 ORDER BY
子句。不过,对于您删除的任何行,您的 PK 中仍然会有漏洞,并且您希望它是这样的。
关于mysql - 使主键 id 始终与行号同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713084/