一旦我将此列设置为主键auto_increment,那么每次将“id”增加一,即使我删除了前一行,所以第一行id可能以4或40开头,但我希望id可以随身携带行号,我怎么能设法在mysql中做到这一点?
答案 0 :(得分:1)
你不能也不想做你所要求的。主键,特别是当它只是一个代理键,如“1”,“2”,“3”时,主要与其他表有关。也就是说,表b需要将其外键指向table_a的主键。
现在,如果你能做你想要的事情怎么办? table_a中有两行,PK分别为1和2。您出于任何原因删除第1行。如果曾经是table_a中第2行的行将其PK更改为1,则具有table_a外键的每个其他表现在都已损坏。无论发生什么,你都需要它来保持它的主键。
如果要查看数据的有序视图,可以使用ORDER BY
子句。对于您删除的任何行,您的PK中仍然会有漏洞,并且您希望它就像那样。