Перемешать записи в бд

chemax
На сайте с 07.01.2009
Offline
206
1571

есть таблица вида

id | титл | текст

и куча записей. как поменять разом все id на рандомный у всех записей?

Качественный хостинг, VPS и сервера. (http://ihc.ru/?ref=569)
I
На сайте с 04.06.2007
Offline
61
#1
chemax:
и куча записей. как поменять разом все id на рандомный у всех записей?

Похоже туплю...)

[umka]
На сайте с 25.05.2008
Offline
456
#2

UPDATE table SET id=ROUND(RAND()*10000)

:) ?

Лог в помощь!
N
На сайте с 06.05.2007
Offline
419
#3

[umka], mySQL error: Duplicate entry 'XXX' for key 1

Кнопка вызова админа ()
[umka]
На сайте с 25.05.2008
Offline
456
#4

netwind, этого нет в условиях задачи :D

N
На сайте с 06.05.2007
Offline
419
#5

[umka], primary key принято делать всегда и он подразумевается.

[umka]
На сайте с 25.05.2008
Offline
456
#6

Подразумеваться может много всего :) Даже что это и не SQL вовсе.

Если id уникальные, то вариант только с временной таблицей.

1. делаем пустую таблицу table2 с такой же структурой

2. делаем INSERT INTO table2 (`title`, `text`) SELECT `title`, `text` FROM table ORDER BY RAND()

3. грохаем table, и переименовываем table2 в table

p.s. у table2, соответственно, на id должен быть auto_increment

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий