|
|
|
| Ребята, подскажите, когда я вставляю новую строчку в таблицу, оно вставляется вначале, как я понял? А можно ли её вставить в конец?
P.S.: Тут я последил и обнаружил что вставка происходит вобще не по понятному мне принципу, то в конце, то в середине, то в начале, объясните пожалуйста этот принцип? | |
|
|
|
|
|
|
|
для: Паша
(24.10.2007 в 20:25)
| | . | |
|
|
|
|
|
|
|
для: Паша
(24.10.2007 в 20:25)
| | У БД НЕТ ни начала, ни конца. Порядок записей проявляется лишь при сортировке.
Если у Вас имеет место быть поле "auto_increment", то с каждым инсертом, это значение будет увеличиваться.
К примеру в таблице есть записи с ID (auto_increment) = 1, 2, 3. То при вставке следующей строки, id станет равным 4. Если Вы удалите строку с id = 4, то при вставке новой строки, id станет равным 5, а не 4. Т.е. строки, где id = 4 не будет вообще... И так далее...
Если требуется вести индекс без пропусков, то икремент Вам не поможет. Нужно ввести новое числовое поле, где искусственно создавать индексы...
А как Вы вообще отслеживаете, на какую позицию встали новые данные? Да и зачем Вам это? Если не секрет конечно :) | |
|
|
|
|
|
|
|
для: provodnik
(24.10.2007 в 20:54)
| | Про auto_increment я в курсе и там его нет. отслеживаю с помощью вывода на экран и май админа, а вообще задача следующая - у меня таблица с 1 столбцом и заранее не известно сколько будет строк и мне необходимо чтобы новые данные записывались вконец, после всего. т.е. она будет наполнятся до определённого условия, т.е. если новые данные появятся вначале то их надо не упустить, поэтому и надо в конец, а если они окажутся вначале, то я их не проверю, конечно то что я объяснил наверное не будет понятно. т.к. задача довольно спцефическая и в двух словах её не обрисовать, но всё же может что и предложите!!! | |
|
|
|
|
|
|
|
для: Паша
(24.10.2007 в 21:09)
| | Тогда объясните - какой то ведь есть всё равно принцип по которому записи вставляються в таблицу, они ведь когда выводятся без какой-либо сортировки, то выводяться по токой же последовательности как и храняться в БД или я не прав? | |
|
|
|
|
|
|
|
для: Паша
(24.10.2007 в 21:39)
| | В Вашем случае,если Вы обо всем в
курсе,и вас до сих пор волнует вопрос-в каком порядке хранятся строки в БД, я вижу один единственный выход-храните данные в файлах и не морочьте себе голову...Одним из главных достоинств баз данных является то,что вам как раз совершенно не нужно знать,в какой последовательности хранятся строки в таблице или поля в строке | |
|
|
|
|
|
|
|
для: Ralph
(24.10.2007 в 22:03)
| | Что такое таблица? Это и есть обычный текстовый файл. Просто у него специфическая структура данных.
Я думаю, что данные при инсерте просто дописываются в конец этого файла...
Автоинкремент не просто нужен, он необходим... | |
|
|
|
|
|
|
|
для: Паша
(24.10.2007 в 21:39)
| | >Тогда объясните - какой то ведь есть всё равно принцип по которому записи вставляються в
>таблицу, они ведь когда выводятся без какой-либо сортировки, то выводяться по токой же
>последовательности как и храняться в БД или я не прав?
Да, но этот порядок может меняться произвольно, особенно при обновлении и удалении записей. Если записей больше, чем одна их лучше сортировать при помощи конструкции ORDER BY по одному из полей. | |
|
|
|