[英]How to delete and insert serial-num in MYSQL and also reorder serial-num?
===============
| 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”設置為自動遞增字段,並由數據庫處理。 您是否要跳過數字?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.