ФорумРазработкаБазы данных → Пронумеровать уже созданную таблицу

Пронумеровать уже созданную таблицу

  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:20

    Каким запросом можно пронумеровать уже созданную таблицу?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:24, спустя 3 минуты 24 секунды

    Что значит пронумеровать?

    Если речь идет о том, чтобы добавить в таблицу автоинкрементное поле, то:
    ALTER TABLE `table` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST 
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:25, спустя 1 минуту 48 секунд

    А если нужно заново пересчитать ID, то сначала
    ALTER TABLE `table` DROP `id`

    Только делать такого не советую.
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:27, спустя 1 минуту 20 секунд

    Есть нумерация, которая меня не устраивает, вот мне нужно отсортировать, и заного пронумеровать…
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:28, спустя 1 минуту 9 секунд

    Какую функцию выполняет эта нумерация? Чем не устраивает?
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:30, спустя 2 минуты 23 секунды

    А два AUTO_INCREMENT ведь нельзя сделать?
    P.S. Думаю что нельзя, но переспрошу ))
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:31, спустя 1 минуту 8 секунд


    Какую функцию выполняет эта нумерация? Чем не устраивает?

    Ну я хочу сделать как бы место, отсортировать по очкам, и заного пронумеровать, и делать это после каждого обновления таблицы…
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:32, спустя 45 секунд

    Нельзя. И автоинкремент нельзя применять просто для нумерации.
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:33, спустя 59 секунд



    Какую функцию выполняет эта нумерация? Чем не устраивает?

    Ну я хочу сделать как бы место, отсортировать по очкам, и заного пронумеровать, и делать это после каждого обновления таблицы…

    А чем ORDER BY `points` при выборке не устраивает? (points — очки)
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:45, спустя 11 минут 33 секунды




    Какую функцию выполняет эта нумерация? Чем не устраивает?

    Ну я хочу сделать как бы место, отсортировать по очкам, и заного пронумеровать, и делать это после каждого обновления таблицы…

    А чем ORDER BY `points` при выборке не устраивает? (points — очки)

    Ну и как узнать на каком месте пользователь?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:53, спустя 8 минут 17 секунд

    Если у тебя будет 10к пользователей и ты будешь при каждом обновлении делать пересчет, у тебя база рухнет.

    Ну и как узнать на каком месте пользователь?

    $sql = 'SELECT count(*) FROM `users` WHERE `points`>'.$this_user_points;

    Хотя, возможно, есть метод получше.
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 22:58, спустя 4 минуты 49 секунд

    $this_user_points что такое? ))
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 22:59, спустя 1 минуту 37 секунд

    Кол-во очков… очек… короче, баллов, данного пользователя, место которого тебе нужно узнать.
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 21 ноября 2008 г. 23:01, спустя 1 минуту 12 секунд

    А если будет одиноковое кол-во БАЛЛОВ, то будет одиноковое место?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 21 ноября 2008 г. 23:04, спустя 3 минуты 41 секунду

    А как ты хочешь выяснить, кто лучше, а кто хуже, если одинаковое кол-во баллов?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!