使主键ID始终与行号同步

时间:2014-09-07 17:46:20

标签: mysql

一旦我将此列设置为主键auto_increment,那么每次将“id”增加一,即使我删除了前一行,所以第一行id可能以4或40开头,但我希望id可以随身携带行号,我怎么能设法在mysql中做到这一点?

1 个答案:

答案 0 :(得分:1)

你不能也不想做你所要求的。主键,特别是当它只是一个代理键,如“1”,“2”,“3”时,主要与其他表有关。也就是说,表b需要将其外键指向table_a的主键。

现在,如果你能做你想要的事情怎么办? table_a中有两行,PK分别为1和2。您出于任何原因删除第1行。如果曾经是table_a中第2行的行将其PK更改为1,则具有table_a外键的每个其他表现在都已损坏。无论发生什么,你都需要它来保持它的主键。

如果要查看数据的有序视图,可以使用ORDER BY子句。对于您删除的任何行,您的PK中仍然会有漏洞,并且您希望它就像那样。