Упорядоченное присвоение ID каждой строке - MySQL

Узнай цену своей работы

Формулировка задачи:

Привет всем. Не могу как следует сформулировать вопрос, от незнания всей терминологии. Прошу прощения. Опишу, что нужно сделать.. Есть БД с записями. Записи имеют свой уникальный id. ID пронумерованы, но есть "пробелы" между нумерацией. То есть, есть id с 1 по 1000, потом чисто, потом с 1200 по 1500, потом снова чисто, потом с 1600 по 2000 и тд. Можно ли "убрать" эти пробелы? И как это можно сделать? То есть, чтобы все id шли по порядку, без пропусков...

Решение задачи: «Упорядоченное присвоение ID каждой строке»

textual
Листинг программы
SET @n = 0;
UPDATE num SET num = @n := @n + 1
ORDER BY num;

Объяснение кода листинга программы

  1. Создается переменная @n типа integer и инициализируется значением 0;
  2. Производится обновление таблицы num с помощью оператора UPDATE;
  3. В качестве условия для обновления используется выражение num = @n := @n + 1;
  4. Обновление происходит для каждой строки таблицы num в порядке, определенном оператором ORDER BY;
  5. Значение переменной @n увеличивается на 1 после каждого обновления;
  6. Значение переменной @n используется для присвоения уникального ID каждой строке таблицы num.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы