Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[mysql] как добавить строку в середину таблицы ? 17.06.03 00:11
Автор: tdes <jin> Статус: Member Отредактировано 17.06.03 00:12 Количество правок: 1
|
|
|
все, разобрался, всем спасибо )) 17.06.03 12:53
Автор: tdes <jin> Статус: Member
|
ошибка моя была в том, что я байдифолт думал, что primary key всегда auto_increment, вот ведь почудилось :)))
|
|
[mysql] В каком смысле в середину? 17.06.03 01:21
Автор: amirul <Serge> Статус: The Elderman
|
Строки всегда добавляются так, что таблица остается отсортированной по ключевым полям.
Повлиять на внутренний порядок храниения ты в общем случае не можешь никак и даже более того - не должен знать об этом ничего.
Так что просто делаешь insert into и все
|
| |
[mysql] В каком смысле в середину? 17.06.03 12:10
Автор: tdes <jin> Статус: Member
|
> Строки всегда добавляются так, что таблица остается > отсортированной по ключевым полям. > > Повлиять на внутренний порядок храниения ты в общем случае > не можешь никак и даже более того - не должен знать об этом > ничего. > > Так что просто делаешь insert into и все
а если я пишу форум и первичный ключ - номер поста, теперь, если кто-то отвечает на этот пост, мне нужно вставить новый пост и не просто в концец таблицы, а за тем, на который он отвечает ( тогда потом просто отображать ).
я вижу единственное решение - создавать временную таблицу и сначала пихать в неё все до поста, затем новый пост и потом остаток таблицы
|
| | |
а почему не присвоить посту id и плясать от него ( с порядковыми номерами не индексированными) 17.06.03 12:18
Автор: Step <Step Alex> Статус: Member Отредактировано 17.06.03 12:21 Количество правок: 1
|
|
| | | |
не понял, поподробней для слаборазвитых, плс ))) 17.06.03 12:22
Автор: tdes <jin> Статус: Member
|
|
| | | | |
поподробней 17.06.03 12:33
Автор: Step <Step Alex> Статус: Member
|
>а если я пишу форум и первичный ключ - номер поста, теперь, если кто-то >отвечает на этот пост, мне нужно вставить новый пост и не просто в >концец таблицы, а за тем, на который он отвечает ( тогда потом просто >отображать ).
>я вижу единственное решение - создавать временную таблицу и сначала >пихать в неё все до поста, затем новый пост и потом остаток таблицы
каждый создающийся пост получает уникальный id, а каждому ответу записывается его "parent id" и присваеевается опять же уникальняый id для ответов на этот ответ...... и так имеем вложенность с "всегда известным родителем".....
если я правильно понял вопрос ;-)
|
| | | | | |
поподробней 17.06.03 12:39
Автор: tdes <jin> Статус: Member
|
это у меня так и работает, проблема в том, что когда ты будешь добавлять новый пост, он будет добавлен в конец таблицы, и при каждом отображении нужно будет сканировать всу таблицу, что не есть хорошо, поскольку просмотров гораздо больше чем добавлений, то есть имеет смысл держать отсортированную таблицу, а значит добавлять “в середину”. Вопрос сейчас скорее о синтаксе как это лучше сделать, типа в insert добавить select.
|
| | |
[mysql] Может быть, проще все-таки первичный ключ выбрать более удачный? 17.06.03 12:16
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
| | | |
не думаю, что это изменит что-то 17.06.03 12:20
Автор: tdes <jin> Статус: Member Отредактировано 17.06.03 12:34 Количество правок: 1
|
не считая, конечно, того, что вставка будет вообще возможна ( я понял, что сортируется все автоматически по праймари ки :))))
|
|
|