Как узнать индекс в таблице MySQL

0

Я программирую в PHP5 и MySQL5, и я хотел бы знать, как определить индекс записи. Чтобы быть ясным, вот пример: У меня есть 500 пользователей в таблице, я хочу выбрать пользователя johndoe и индекс этого пользователя, поэтому, если johndoe является 100-м пользователем в моей таблице, я хочу иметь возможность выбирать информацию для него аналогично этому

SELECT *, INDEX_OF(id) FROM users WHERE username='johndoe';

Итак, я бы получил информацию о пользователе назад (имя, имя пользователя, идентификатор, индекс и т.д.) Обратите внимание, что это отличается от идентификатора пользователя.

Как мне это сделать?

Спасибо!

  • 1
    Что должен вернуть INDEX_OF(id) ? Пожалуйста, предоставьте пример вывода
Теги:

1 ответ

5
Лучший ответ

Вы можете использовать специальный столбец _rowid, но он совпадает с "unsigned int auto_increment primary ключ ", то есть то, что вы обычно называете" id ".

SQL не имеет требований к порядку поиска строк, только по возвращенным строкам. Это означает, что вы не можете рассчитывать на то, что эта запись находится на 100-й позиции для каждого поиска. Таким образом, любая попытка найти физическое положение строки может каждый раз возвращать другой результат.

  • 0
    спасибо, но, как я уже сказал, это не то, что я ищу
  • 1
    @yuval - это может быть не то, что вы ищете, но это правильный ответ. Не существует «порядка» строк, хранящихся на диске, поэтому нет «индекса» в том смысле, в котором вы его используете. Вы не можете определить такой индекс, потому что его просто нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню