Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Сортировка записей в БД (http://forum.sape.ru/showthread.php?t=51128)

Русская мафия 20.04.2010 15:22

Сортировка записей в БД
 
Иногда, сортировка записей сбивается. В таблице записи начинают идти примерно так:
88
89
94
95
91
92
93

И выводятся потом через скрипт на сайте одни записи вместо других.

Заметил, что такое происходит после удаления постов на форуме

Лечится phpMyAdmin->БД->Операции->Изменить порядок таблицы

Из-за чего это может быть?
Удаляю посты с форума так:
$db->sql_query("DELETE FROM forum_posts_text WHERE post_id=$postid LIMIT 1");

Что это значит?

koird 20.04.2010 15:45

Цитата:

Сообщение от Русская мафия (Сообщение 791304)
И выводятся потом через скрипт на сайте одни записи вместо других.

А почему при выводе записей не использовать бы ORDER BY post_id или ORDER BY post_id DESC?
и получить прогнозируемый результат....

какая разница, в каком порядке физически хранятся записи?

ahsinis 20.04.2010 16:01

У вас видимо поле сортировки явно не указано, и база данных сортирует по своему внутреннему индексу, который не обязательно соответсвует динамике увеличения первичного ключа.

Djeremy 20.04.2010 16:51

Первичный ключ задан?

Русская мафия 20.04.2010 17:48

я просто для всех таблиц для поля id ставлю PRIMARY и всё. Ещё что то нужно?

Anadonam 20.04.2010 18:12

koird, +1 иначе такое допускается и возможно

sylex 20.04.2010 20:06

можно делать, конечно, переодически:

ALTER TABLE `table` ORDER BY `column`

но проще и правильней:

Цитата:

Сообщение от koird (Сообщение 791337)
А почему при выводе записей не использовать бы ORDER BY post_id или ORDER BY post_id DESC?
и получить прогнозируемый результат....


Русская мафия 20.04.2010 21:11

Понятно, всем спасибо, попробую


Часовой пояс GMT +3, время: 14:35.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.