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