我在mysql和php中遇到了一个自动递增id的问题,这里是一个场景,我创建了一个表单,将数据插入到我的数据库中。我使用一个表来查看从.php文件中的表单存储的所有数据。我存储了5行数据,当我删除第3行时,我注意到第4行的id没有变为3。有没有办法设置id来替换删除的行?
u0sqgete1#
听起来你在用不该用的身份证。你可以在这里看到:在自动递增列中插入任何其他值时,该列将被设置为该值,并且序列将被重置,以便下一个自动生成的值从最大的列值开始依次出现。例如:
INSERT INTO animals (id,name) VALUES(100,'rabbit'); INSERT INTO animals (id,name) VALUES(NULL,'mouse'); SELECT * FROM animals; +-----+-----------+ | id | name | +-----+-----------+ | 1 | dog | | 2 | cat | | 3 | penguin | | 4 | lax | | 5 | whale | | 6 | ostrich | | 7 | groundhog | | 8 | squirrel | | 100 | rabbit | | 101 | mouse | +-----+-----------+
... 因此,如果是因为担心某个值“稍后”(在删除第3行之后)会得到一个id,而这个id不是最高的,那么就不必担心了。请更新您的问题与进一步的信息,为什么这是一个问题,如果这不能回答您的问题。
1条答案
按热度按时间u0sqgete1#
听起来你在用不该用的身份证。
你可以在这里看到:
在自动递增列中插入任何其他值时,该列将被设置为该值,并且序列将被重置,以便下一个自动生成的值从最大的列值开始依次出现。例如:
... 因此,如果是因为担心某个值“稍后”(在删除第3行之后)会得到一个id,而这个id不是最高的,那么就不必担心了。
请更新您的问题与进一步的信息,为什么这是一个问题,如果这不能回答您的问题。