0
我有一個包含3列的數據表:索引,標題,消息。例如:使用PHP刪除一行時更新mySQL數據庫中的id
1 'Title1' 'Hi!'
2 'Title2' 'Sup'
3 'Title3' 'Nothing'
如果我刪除例如中間的一個,索引編號將包含一個間隙。我如何更新他們來解決這個問題?有沒有任何MySQL的偏好呢? (我真的需要它們按順序排列,沒有間隙)
我有一個包含3列的數據表:索引,標題,消息。例如:使用PHP刪除一行時更新mySQL數據庫中的id
1 'Title1' 'Hi!'
2 'Title2' 'Sup'
3 'Title3' 'Nothing'
如果我刪除例如中間的一個,索引編號將包含一個間隙。我如何更新他們來解決這個問題?有沒有任何MySQL的偏好呢? (我真的需要它們按順序排列,沒有間隙)
您可以使用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
沒關係,我沒有想到最簡單:id = id-1其中id大於刪除的id。抱歉! – LPeter1997