我在MySql中有一个表,其中包含user_id作为First字段。该字段是主键,它被定义为自动递增。问题是每当我使用命令
从表中删除一行时delete from user where username="username"; //Username is the Second field
它被删除,但是当我创建一个新条目时,不会通过覆盖已删除的行来调整user_id。 假设我删除了表中最后一行的第3行,那么我的新条目创建为user_id = 4,即使user_id = 3现在也不存在。
这是Sqlworks的工作方式,还是应该在查询中进行更改?
答案 0 :(得分:1)
我建议您创建另一个字段,以便
id | user_id | username
id
应为auto_increment
要插入,您可以计算DB中的托管数并提高+1。
然后你会得到你想要的结果。
诅咒你可以使用id,但在这种情况下,你总是要重新索引user_id。
实际上,这不是主键应该使用的方式。
示例:强>
假设您有一家拥有100名客户的公司。今天,客户50的客户数量为50,明天他有48,因为其他2位客户离开了您的公司。没有意义:D