Forum Webscript.Ru

Общие => Базы данных => Тема начата: fedechka от 28 Сентября 2002, 02:33:43

Название: Удаление строки с автоинкрементом
Отправлено: fedechka от 28 Сентября 2002, 02:33:43
Вступление:
В качестве самообучения делается гостевая на РНР с кучей всяких возможностей типа статусов, администраторов, уровней, всяких фигней и тому подобного.

Заводится таблица мессаг.

В первой таблице есть поле id, которое, собсно, автоинкремент.

Каким боком при удалении сообщения сделать так, чтоб енти самые id, которые после удаленного сообщения, на единицу б уменьшались?

Можно не уменьшать, но тады на одной странице будет, допустим, не 20, а 19 месссаг, что не есьм гуд.

А если уменьшить их как-то, то возникает другой вопрос. Заводится таблица комментов к сообщениям, хде существует parent_id, равный соответствующему id  в первой таблице. Так что омменты тоже будут сдвигаться...

Вопрос, думаю, из серии FAQ, но пока ни в одном факе я его не нашел.

Ай нид самбади\'з хелп...
Название: Удаление строки с автоинкрементом
Отправлено: Макс от 28 Сентября 2002, 02:43:34
Цитировать
Можно не уменьшать, но тады на одной странице будет, допустим, не 20, а 19 месссаг, что не есьм гуд.
Ты их через LIMIT выводишь?
SELECT ... FROM cool_guestbook LIMIT $start, $rows_per_page;
$start, $rows_per_page; - какие-то числа.
тогда забей на изменение ID. Оно не нужно. Будут выводиться по $rows_per_page штук
Название: Удаление строки с автоинкрементом
Отправлено: Доктор от 28 Сентября 2002, 15:33:14
update table set id=id-1 where id>$id;
Название: Удаление строки с автоинкрементом
Отправлено: Доктор от 28 Сентября 2002, 15:45:31
Но это не совсем решение проблемы :) Потому что записи новые вставляться будут все равно со смещением.
Название: Удаление строки с автоинкрементом
Отправлено: fedechka от 28 Сентября 2002, 17:50:52
2 Макс

Ну, как я и говорил, вопрос из серии FAQ.

Всё прояснилось, спасибо.