Как я могу установить значение столбца счетчика в MySQL? - PullRequest
0 голосов
/ 27 марта 2010

У меня есть таблица со столбцом «SortID», который пронумерован с использованием последовательных чисел. Всякий раз, когда строка удаляется, она оставляет пробел. Есть ли способ использовать чистый SQL для обновления строк с их номером строки? Примерно так:

UPDATE tbl SET SortID={rowindex} ORDER BY SortID

(я понимаю, что это недопустимый SQL, поэтому я прошу помощи)

Это должно установить для первой строки # 1, для второй строки # 2 ... и т. Д. Возможно ли это с помощью SQL? Пожалуйста, прости плохо сформулированный вопрос, я не совсем уверен, лучший способ задать это. :)

Ответы [ 3 ]

4 голосов
/ 27 марта 2010

Для этого можно использовать переменные MySQL .

SET @a:=0;
UPDATE tbl SET sortId=@a:=@a+1 ORDER BY sortId;
1 голос
/ 27 марта 2010

Вы уверены, что вам это нужно? Слой презентации используется для нумерации большую часть времени.

1 голос
/ 27 марта 2010

Вы можете использовать определенные пользователем переменные mysql

SET @pos=0;
SELECT @pos:=@pos+1, * FROM tbl ORDER BY SortID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...