gpt4 book ai didi

php - 如何在MYSQL中删除和插入序列号以及重新排序序列号?

转载 作者:行者123 更新时间:2023-11-29 14:12:07 25 4
gpt4 key购买 nike

===============
| id | name |
===============
| 1 | Ali |
| 2 | ahmd |
| 3 | jada |
| 4 | nisr |
| 5 | sara |
| 6 | mona |
| 7 | dana |
===============

当我删除像 id=5 这样的任何行时,我想重新排序 ID 并像那样 =>

===============
| id | name |
===============
| 1 | Ali |
| 2 | ahmd |
| 3 | jada |
| 4 | nisr |
| 5 | mona |
| 6 | dana |
===============

如果我插入 id=2 name=yafa 的行,也同样如此,如何在不重复任何值的情况下重新排序表并像那样

    | id   | name |
===============
| 1 | Ali |
| 2 | yafa |
| 3 | ahmd |
| 4 | jada |
| 5 | nisr |
| 6 | sara |
| 7 | mona |
| 8 | dana |
===============

最佳答案

这是假设您始终知道要添加或删除的“id”。 (此外,您始终一次只处理一行)。

对于删除:

DELETE FROM tableName WHERE id = 5;

UPDATE tableName
SET id = id-1
WHERE id > 5;

对于插入:

UPDATE tableName 
SET id = id + 1
WHERE id >= 2;

INSERT INTO tableName (id, name) VALUES (2, 'yafa');

顺便说一句,你为什么要这样做。将“id”列设置为自增字段并让数据库处理它。你介意你是否跳过数字吗?

关于php - 如何在MYSQL中删除和插入序列号以及重新排序序列号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com