Автор Тема: Очередная нумерация  (Прочитано 6950 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Очередная нумерация
« : 24 Августа 2004, 10:37:30 »
Задача: пронумеровать все записи в таблице. Скажем, в столбце `id`.
[off]Т.к. уже нашлись люди, которые не поняли, объясняю:
Было:
`id`- `somevalue`
23 - 234
42 - 456
53 - 928
и т.д.
Стало
1 - 234
2 - 546
3 - 928
[/off]
Как это делать одним запросом? Как указать в запросе, что в столбец `id` должен попасть порядковый номер записи?
LJ: Backslashed life (rss)

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Очередная нумерация
« Ответ #1 : 24 Августа 2004, 11:44:14 »
Порядковый номер относительно чего?

[OFF]ты теорию множеств учил?[/OFF]
Не все коту матрица.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Очередная нумерация
« Ответ #2 : 24 Августа 2004, 12:44:48 »
Croaker
Относительно того, как UPDATE перебирает строки. Номер (порядковый).

[off]Даже если и учил - не помню. А что?[/off]
LJ: Backslashed life (rss)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Очередная нумерация
« Ответ #3 : 24 Августа 2004, 12:47:13 »
Хе хе.
Триллер "ЦГвиктор на граблях". 118-я серия.
Занимайте место в партере.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Очередная нумерация
« Ответ #4 : 24 Августа 2004, 12:49:38 »
Цитировать
Т.к. уже нашлись люди, которые не поняли

Так это чучело называет людей, которые пытались, видимо, объяснить ему всю бессмысленность этой затеи.

Оно думает, что если сменить форкм, то глупость вдруг перестанет ей быть

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Очередная нумерация
« Ответ #5 : 24 Августа 2004, 13:05:33 »
Цитировать
CGVictor:
Номер (порядковый).


Отлично. Но порядковый номер ты сам задаешь. Поле id твое в принципе и есть уникальный номер записи, который можно использовать и как порядковый. Только с чего ты взял, что UPDATE (и вообще - при чем тут UPDATE) работает по ТВОЕМУ полю?
Не все коту матрица.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Очередная нумерация
« Ответ #6 : 24 Августа 2004, 13:31:22 »
CGVictor,
попробуй ALTER TABLE test DROP COLUMN id, ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY, ORDER BY id; (если я правильно тебя понял)

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Очередная нумерация
« Ответ #7 : 24 Августа 2004, 13:32:55 »
Forza
И все связи, если они есть, рвутся нахрен.
Не все коту матрица.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Очередная нумерация
« Ответ #8 : 24 Августа 2004, 13:35:29 »
Croaker,
А как же им не рваться, если стоит задача изменить значения всех id в таблице? [OFF]или я не догоняю?[/OFF]

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Очередная нумерация
« Ответ #9 : 24 Августа 2004, 13:37:38 »
Forza
Стоит задача объяснить человеку, что делать этого не надо.
Не все коту матрица.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
Очередная нумерация
« Ответ #10 : 24 Августа 2004, 13:51:42 »
Croaker
Если хочет - пусть попробует. Может, в этом есть смысл.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Очередная нумерация
« Ответ #11 : 24 Августа 2004, 14:23:24 »
если в этом есть смысл, то человек, у которого есть хоть капля мозгов в голове, поймет, что тогда ему поле Id вообще нахрен не нужно.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Очередная нумерация
« Ответ #12 : 24 Августа 2004, 15:22:14 »
CGVictor
зачем тебе это нужно ?
Чем не устраивают данные
23 - 234
42 - 456
53 - 928
?

Почти наверняка, это задача из разряда "Ты не должен этого хотеть"
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Очередная нумерация
« Ответ #13 : 24 Августа 2004, 17:11:18 »
Итак.
1.Поле `id` могло называться и по другому.
Цитировать
RomikChef:
которого есть хоть капля мозгов в голове, поймет, что тогда ему поле Id вообще нахрен не нужно

Возможно. Зависит от их наличия.
2.
Цитировать
Forza:
AUTO_INCREMENT PRIMARY KEY

Э-эх, идея хорошая, но двух автоинкрементов в таблице быть не может.
3.
Цитировать
Croaker:
если они есть

Считаем, для прозрачности вопроса, что их нет. Допустим, по ним только сортировка происходит
4.
Цитировать
RomikChef:
Оно думает, что если сменить форкм

Форум здесь ни при чем. Предпочитаю общаться с 1)умными людьми 2)в реале.

Попробую немножко скорректировать вопрос.
Допустим, есть поле `sort` (это чтобы любители `id` молчали). Есть выборка по какому-то условию (не важно). Выборка дает нам какие-то записи. И вот теперь нужно эти записи в поле `sort` пронумеровать с единицы и далее.
Question clear?
LJ: Backslashed life (rss)

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Очередная нумерация
« Ответ #14 : 24 Августа 2004, 17:17:00 »
Цитировать
CGVictor:
И вот теперь нужно эти записи в поле `sort` пронумеровать с единицы и далее.


Зачем?
Не все коту матрица.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28