|
|
|
| Всем привет!
Вот такой вот вопросик к гуру:
есть таблица
id_video, name
id_video - AUTO_INCREMENT, первичный
В таблице 8000 записей и хотелось бы эти записи перемешать в случайном порядке, то есть сменить id_video
Кто нибудь в курсе как такое можно провернуть? спасибо | |
|
|
|
|
|
|
|
для: realkasper
(15.09.2010 в 13:59)
| | а надо ли? может лучше выборку из таблицы делать в случайном порядке? | |
|
|
|
|
|
|
|
для: psychomc
(15.09.2010 в 14:51)
| | нет, там просто этот id идет в контенте в ссылках и нужно их все изменить | |
|
|
|
|
|
|
|
для: realkasper
(15.09.2010 в 13:59)
| | Я бы так делала.
Выбрать из таблицы в массив все id_video. Перемешать значения в массиве.
Создать в таблице дополнительное поле.
Загрузить перемешанные значения массива в новое поле(UPDATE table...).
Выбрать MAX(id_video) - где-то его запомнить.
Удалить поле id_video.
Переименовать созданное поле в id_video и сделать его автоинкрементным, установить, что автоинкремент должен считать с максимального значения MAX(id_video) , которое вы запомнили раньше. | |
|
|
|
|
|
|
|
для: Лена
(15.09.2010 в 16:12)
| | так то интересная идея, но вот вопрос в том что слишком много значений ~8000 и все может умереть
а как тогда забить новую колноку цифрами в случайном порядке чтобы они не повторялись, не из массива а просто нагенерировать? | |
|
|
|
|
|
|
|
для: realkasper
(15.09.2010 в 16:15)
| | Если постараться, ничего не умрет :)
если 8000, то разбейте на куски - и каждый кусок обрабатывайте отдельно.
mt_rand() - если в php | |
|
|
|
|
|
|
|
для: Лена
(15.09.2010 в 16:27)
| | ну это то понятно, но нет смысла гонять массив когда можно просто нагенерировать цифр, вопрос только в том чтобы они не повторялись :-) в случае с mt_rand не будет ли повторения цифр? прошу прощение за вопрос, просто я не совсем спец | |
|
|
|
|
|
|
|
для: realkasper
(15.09.2010 в 16:38)
| | Повторы возможны. Самый простой вариант - собрать все сгенерированные значения в массив и применить к нему array_unique() - тогда точно повторов не будет.
PS. Вы же в первом посте писали, что вам нужно на основе имеющихся записей. | |
|
|
|