| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Последовательность при записи в БД |
| Автор: Alex_B 18.6.2007, 20:23 |
| Есть массив A. Каждый элемента этого массива я по порядку записываю в таблицу MySQL. Затем мне необходимо сформировать массив B из записей в таблице MySQL. Массив B должен быть идентичен массиву A – важна последовательность элементов. Сейчас последовательность элементов в массива B ни как не контролируется. Как более практично сделать такое? (можно сделать еще одну колонку в таблице и туда записывать номер элемента в массиве A, но наверняка есть способ лучше) Спасибо. |
| Автор: vasac 18.6.2007, 21:09 |
| Поставить автоинкремент в таблице. При выборке упорядочивать по нему. |
| Автор: Alex_B 18.6.2007, 21:21 | ||
Автоинкремент стоит. Т.е. сбой происходит не при записи а при считывании? _________________ Сейчас пытаюсь повторить ситуацию при которой произошел сбой последовательности элементов - и никак не получается. Но раза три уже было - не могу понять от чего это зависит |
| Автор: skyboy 19.6.2007, 00:26 |
| в запросе "ORDER BY" есть по этому автоинкременту? или "рассчитываем на СУБД"? |
| Автор: Alex_B 19.6.2007, 13:04 | ||||
skyboy, запрос выглядит вот так:
Подскажите пожалуста как добавить "ORDER BY". Я правильно понял, что если я последовательно записываю элементы массива в таблицу с автоинкрементом, то этот автоинкремнт для каждой следующей записи будет больше чем для предыдущей? Т.е. при добавлении записей в таблицу последовательность нарушится не может? |
| Автор: vasac 19.6.2007, 13:39 |
| http://phpfaq.ru/mysql тут и про последовательность в таблице и пример с ORDER BY |
| Автор: Alex_B 19.6.2007, 13:48 | ||
| vasac, спасибо. Вот так сделал:
|
| Автор: skyboy 19.6.2007, 23:28 |
только в случае, когда необходимости во внешних ключах нет(реализовано на уровне логики приложения), а транзакции - не критично, в отличии от скорости, то используют, почему-то, MyISAM Но все равно - спасибо за инфо. не знал, не знал |