我有一个自动递增ID列的表。我希望我的数据库自动更改ID值,因此ID值始终为1。
例如:
ID Firstname Lastname
1 John Smith
2 Charlie Jacobs
3 Jason young
我希望如此,如果我删除行ID 1,则行ID 2将更改为ID 1,行ID 3将更改为ID 2.如下所示:
ID Firstname Lastname
1 Charlie Jacobs
2 Jason young
我希望能够再添加名称,然后从ID 3继续执行。最好我想知道SQL中是否有可以自动执行此操作的设置。如果这不可行,那么PHP脚本将是第二好的。
答案 0 :(得分:0)
这不是一件正确的事。你为什么要那样做?这会弄乱你的主键值。所以不要这样做。来到解决方案
如果要在表单中显示此内容,只需为select语句中的每一行生成一个行号。它之间不会有任何差距。 MYSQL Generating Row Numbers
SELECT @row_number:=@row_number+1 AS row_number,db_names FROM mysql_testing,
(SELECT @row_number:=0) AS t
ORDER BY db_names;