Sequence在實務應用上,有重要的地位.
隨著資料表使用日久,資料會有刪除的情況,
這時候就會照成Sequence不連續的情況.
有些人喜歡對稱有序的事物,破破碎碎的,令人不快!
就會要求,希望能夠重整.
來看看以下範例:
CREATE TABLE iron1005(
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(12) NOT NULL
);
INSERT INTO iron1005(name) VALUES
('油達大師'),
('玉面飛鷹'),
('月光刑警'),
('美茄子刑警'),
('川上奈奈美'),
('森奈奈子'),
('麻倉優');
SELECT *
FROM iron1005;
+----+-----------------+
| id | name |
+----+-----------------+
| 1 | 油達大師 |
| 2 | 玉面飛鷹 |
| 3 | 月光刑警 |
| 4 | 美茄子刑警 |
| 5 | 川上奈奈美 |
| 6 | 森奈奈子 |
| 7 | 麻倉優 |
+----+-----------------+
-- 刪除月光刑警 與 美茄子刑警
DELETE
FROM iron1005
WHERE id = 3
OR id = 4;
-- 現在資料是這樣:
SELECT *
FROM iron1005
ORDER BY id;
+----+-----------------+
| id | name |
+----+-----------------+
| 1 | 油達大師 |
| 2 | 玉面飛鷹 |
| 5 | 川上奈奈美 |
| 6 | 森奈奈子 |
| 7 | 麻倉優 |
+----+-----------------+
-- 刪除掉id
ALTER
TABLE iron1005
DROP id;
-- 重建 id
ALTER
TABLE iron1005
ADD id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY(id);
-- 現在資料是這樣:
SELECT *
FROM iron1005
ORDER BY id;
+----+-----------------+
| id | name |
+----+-----------------+
| 1 | 油達大師 |
| 2 | 玉面飛鷹 |
| 3 | 川上奈奈美 |
| 4 | 森奈奈子 |
| 5 | 麻倉優 |
+----+-----------------+
已經重新排好了!