使用PHP删除行时更新mySQL数据库中的ID

时间:2014-04-15 19:21:37

标签: php mysql indexing

我有一个包含3列的数据表:索引,标题,消息。例如:

1    'Title1'    'Hi!'
2    'Title2'    'Sup'
3    'Title3'    'Nothing'

如果我删除例如中间的索引号,则索引号将包含间隙。我如何更新它们来解决这个问题?这有什么mysql偏好吗? (我真的需要它们按顺序排列,没有间隙)

1 个答案:

答案 0 :(得分:0)

您可以使用trigger自动执行此操作。

CREATE TRIGGER update_indexes AFTER DELETE on your_table
FOR EACH ROW
BEGIN
    UPDATE
        your_table
    SET
        your_table.`index` = your_table.`index` - 1
    WHERE your_table.`index` > old.`index`;
END