Sergey_USB, id 6 это пропуск, их тоже надо убирать. Пропуски - это отсуствие данных между какими то number_id, допустим порядок должен быть таким: 1, 2, 3, 4. А идёт так: 1, 3, 4, 8
то есть "настоящие" ID записи можно похерить и вместо них создать новые, не имеющие никакого отношения к записям, просто цифры по порядку, правильно? а как сортируется тогда поле текс? по какому признаку?
Sergey_USB, смотрите. Я допустим удалил какой то айди в базе, мне надо что бы айди после него встали на свои места. Допустим:
1 - Типо текст
2 - Это текст
3 - Какой то текст
4 - Тестовый текст
5 - Допустим текст
6 - Вот текст
Допустим я удаляю 3 и 4 айди, получается:
1 - Типо текст
2 - Это текст
5 - Допустим текст
6 - Вот текст
Потом я должен убрать пропуски (не знаю как) и получится вот так:
1 - Типо текст
2 - Это текст
3 - Допустим текст
4 - Вот текст
можешь прям конечную цель этого действа описать, не что ты хочешь получить, а зачем именно так? и что потом с этим делать будешь. И почему ИД не могут быть с разрывом.
Так может средствами БД выбирать случайную запись.... И все.
Либо генерить случайное число, проверять есть ли такая запись в БД и если нет опять генерить...
Или поискать в Гугле - выбор случайной записи из БД если ИД не по порядку.
НИКОГДА не следует менять id без веских причин. В Вашем случае я не вижу такой причины. Если Вам нужно выбрать случайную запись select * from tbl order by random() limit 1;
или немного быстрее
SELECT * FROM tbl
OFFSET floor(random() * (SELECT COUNT(*) FROM tbl))
LIMIT 1;