假设我在 MySQL 数据库中有一个名为“Test”的表(其中 id 是主键):
id | entry |
---+-------+
1 | a |
2 | b |
3 | c |
4 | c |
5 | d |
6 | e |
我想知道的是如何在从表中删除一行后将 id 值保留在序列 {1, 2, 3, ..., n-1, n} 中。例如,假设我执行以下命令:
DELETE FROM Test WHERE id = 4;
然后我希望表格在删除后看起来像这样:
id | entry |
---+-------+
1 | a |
2 | b |
3 | c |
4 | d |
5 | e |
我认为解决方案是使用数据库触发器,但我不太确定如何创建实现此行为的触发器。