powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таблица как полноценный список
13 сообщений из 13, страница 1 из 1
Таблица как полноценный список
    #33103184
quazatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дана таблица состоящая из записей: R3 R5 R4 R10 ... R2 R8.
Не подскажет ли всезнающий all как лучше реализовать следующие вещи:

1) вставить новую запись R11 в "начало"
R11 R3 R5 R4 R10 ... R2 R8

2) добавить новую запись R11 к "концу"
R3 R5 R4 R10 ... R2 R8 R11

3) переместить запись R2 на "первую позицию" (со сдвигом)
R2 R3 R5 R4 R10 ... R8

На низком уровне есть удовлетворительное решение этой проблемы - связный список. Как это можно сделать в MySQL? И нужно ли придумывать абстракции "начало", "конец", "запись номер N от начала" по отношению к таблице?

ЗЫ Посоветуйте хороший RTFM.
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103249
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dev.mysql.com/manual/ru

А вообще "по отношению" к таблице это ИМХО полная чушь. И собственно зачем так делать?
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103315
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно так же. Делаешь три поля id, value, next. В nextе будет сидеть id следующей записи. По желанию можно сделать двусвязный список.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103330
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ох, мля, нет, не так.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103364
Astron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Berkuthttp://dev.mysql.com/manual/ru

А вообще "по отношению" к таблице это ИМХО полная чушь. И собственно зачем так делать?

+1
Без ORDER BY сервер имеет полное право вернуть набор вперемешку, причем перемешивать при каждом запросе по-разному и по-новой. Если он так не делает (а он так не делает) то это только потому что у него план чаще всего одинаковый. Так что без поля "позиция" это все не решается. Что ставит проблему исправления этого поля при вставках по всей таблице. Можно приделать рядом еще одну таблицу, из 3-х полей,
свой_id, верхний_id,нижний_id, и при вставке записи в основную таблицу рулить этими ссылками как бог на душу положит. Выбирать правда придется поштучно, в майскуле CONNECT BY отсутствует...
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103367
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 maXmo
Наверное, вы имели в виду просто сделать третье поле, которое и будет определять позицию элемента в "списке"?
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103397
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Berkut, похоже, иначе никак, думал малой халявой отделаться
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103403
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Astron
При update можно обойтись и без дополнительных таблиц.
Перед вставкой нового элемента определяем позицию куда хотим вставить. Затем делаем апдейт position+1 для всех строк, у которых position>= заданной. Потом вставляем новый элемент с данной позицией.

Примечание: Это простейший пример, при условии что нет "разрывов" в позициях и нет удаления строк. В противном случае просто добавятся условия обновления.
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103425
Astron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 berkut
читайте внимательнее написанное, а уж потом учите взрослых дядей :-)
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33103606
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Astron
Взрослый дядя , я всего лишь предложил вариант как можно оперировать одной таблицей. Если вы считаете, что использование дополнительной таблицы лучше - ради бога. Никто вас не учит.
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33105574
Astron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Berkut
вот что я писал в своем посте....
Astron Так что без поля "позиция" это все не решается. Что ставит проблему исправления этого поля при вставках по всей таблице.

Так что мой пассаж про "не учите взрослых дядей" (раз сами читать не умеете) имеет под собой основания, ведь верно?
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33105727
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Astron
Astron
2 Astron
При update можно обойтись и без дополнительных таблиц.

Полагаю стоит закрыть полемику, т.к. мы все равно говорим на разных языках.

Найдите в данном утверждении " При update можно обойтись и без дополнительных таблиц. " хоть что-то, что имело бы отношение к "учению взрослых дядей".

Читайте внимательнее : " всего лишь предложил вариант как можно оперировать одной таблицей. ".
Кроме того, я вовсе не против ваших утверждений :)

regards!
...
Рейтинг: 0 / 0
Таблица как полноценный список
    #33107085
quazatron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за советы.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Таблица как полноценный список
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]