![]() |
|
Модераторы: skyboy |
![]()
|
|
| PAMAC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 18.11.2012 Репутация: нет Всего: нет |
Добрый день!
Есть таблица со столбцами: имя, адрес, год рождения. Выполняем поиск по имени, находится одно совпадение. Вопрос: Как переместиться вверх или вниз от найденного совпадения (строки таблицы)? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
При какой именно сортировке записей в таблице? а вообще не вопрос - паеренумеруй записи при этой сортировке и возьми нужную по номеру.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| PAMAC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 18.11.2012 Репутация: нет Всего: нет |
без сортировки записей в таблице. не, ну нумеровать не интересно! как без нумеровки сделать?
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
НИКАК!!!
PAMAC, без явно указанной сортировки порядок записей в таблице не определён. И имеет право в любой момент измениться - например, один и тот же запрос без сортировки при двух последовательных вызовах может вернуть записи в разном порядке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Без сортировки - никак, без нумерации - отчего нет?
отобраться по больше/меньше, отсортировавшись в прмямом/обратном порядке, ограничить(limit) stff -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: нет Всего: 55 |
Способ нумерации может показаться сложным, но это дело одной минуты:
Создайте колонку id с атрибутом auto increment, а потом произведите один запрос:
И существующие поля id заполняться числами 1, 2, 3, 4 и т.д. А новые номера будут добавляться автоматически благодаря параметру auto increment. Один запрос - и все пронумеровано. Разве может быть более быстрый и простой способ решения? И осуществить легко и компьютеру будет легко с этим работать. Зачем заставлять машину проделывать целую кучу лишних операций со строками и запросами только из-за того, что не хочется добавлять id? Это ведь код, вы потом обернете все в удобный интерфейс и будет все равно, как именно это работает =)) Это сообщение отредактировал(а) Arantir - 19.11.2012, 19:04 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Ну уж если копипастишь - хотя бы разберись, что копипастишь! или попробуй... хрень ведь написана... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: нет Всего: 55 |
Странно, гугл на мой текст совпадений не выдает. Откуда же я это скопипастил? А, наверное ниоткуда. Бывает же такое, люди сами пишут посты. Ваш ответ просто переполнен пониманием и толерантностью. Вы же модератор, в конце-концов, как можно в таком тоне писать? Что именно из этого "хрень"? Не понимаю... Слово "атрибут"? Могу специально для вас сказать что-то вроде "Используйте ключевое слово AUTO_INCREMENT при добавлении нового поля в таблицу". Но русский язык позволяет назвать это атрибутом, особенно в отношении существующего поля. Я рассчитывал, что ТС удосужиться создать новое поле и без разжевывания этой процедуры, раз уж он уже имеет базу с таблицами. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Arantir, ты даже не понял, пачку каких косяков выдал? Ну просто выполни свой же совет! Я - участник. Модератор я совсем в других разделах. Но и там я модератор и я участник - это две разные персоны. Не надо всё в одну кучу. Да. Пишешь от фонаря - хотя бы говори об этом. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: нет Всего: 55 |
Akina, попробовал.
В чем-то вы правы. Мне еще не приходилось добавлять автополя в уже заполненную таблицу. Теперь буду знать, что они заполняются автоматически уже при создании. Полезный опыт. Ха, но должен сказать, что мой совет можно выполнить от и до без возникновения каких-либо ошибок =) Ключ и автоинкремент прекрасно перезаполняться запросом и не заикнуться. P.S.: Я никогда не пишу "от фонаря" и не копипащу. Имейте уважение. Я просто полагаюсь на имеющиеся знания и пробую тут кому-нибудь помочь. На звание гугу-мастера-хакера я не претендую. Можно было и просто вежливо написать, что мол этот вот пункт лишний потому-то, а не дерзить во всю. Это сообщение отредактировал(а) Arantir - 19.11.2012, 22:01 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Arantir, то, что не надо заполнять - полдела.
Автоинкремент ОБЯЗАН быть первичным ключом. И без вариантов. Если таблица у ТС имеет ПК - совет бессмыслен. Мне тоже в своё время несколько раз за такое дали по морде. И пару раз - по делу. Теперь я почти всегда сперва проверяю свой совет, если хоть немного не убеждён. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: нет Всего: 55 |
Я в курсе на счет первичного ключа у автоколонок, просто подумал, что среди таких полей как имя, адрес и дата рождения как-то не может быть первичного ключа, позволяющего только уникальные данные.
Да и что мешает дропнуть старый ключ, колонку это не удалит. Даже, если он есть, имена, адреса и даты - плохие поля на роль ключа. Разве что засунуть в ключ сразу две колонки или даже все три, для уникальности, но это уже извращения какие-то в данном случае =) Ну и нафлудили мы тут. Да ничего, ТС тоже получит полезный совет. Лучше учиться на чужих ошибках =) Это сообщение отредактировал(а) Arantir - 20.11.2012, 02:44 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |