Mysql中的列id

man*_*ing 0 mysql

我有一个表,其中第一列是像这样定义的自动增量id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT

现在我想删除一些包含NULL的行,之后,id不一致,有没有办法让它们自动调整?就像现在我删除了第一行,所以id从我的表中的2开始,我也删除了中间的一些行.

N.B*_*.B. 12

它是主键,它不应该遵循你认为它的逻辑.如果您有顺序值1,2,3,4,5,然后删除id = 3的值,则不能重用值3.

含义很严重,只是不要试图强制MySQL重用已删除的值.

如果您需要某种排序以实现"漂亮"的显示目的,请不要依赖id列的值.它是一个主键,它只存在于每一行都可以被唯一标识,从而使其实际价值在外部世界方面毫无意义.

我知道人们通常希望他们的数字是连续的,而且差距看起来很难看,但是如果你需要实现它,那么使用你手动更新的其他一些列来实现它.

请记住,切勿亲自触摸主键.