Как быстрее продублировать ряд в таблице?

dantistus

Новичок
Как быстрее продублировать ряд в таблице?

В MySQL таблице надо "скопировать" (продублировать) несколько записей (рядов,rows.. не знаю, как правильней сказать будет). Есть UNIQUE KEY, это надо учитывать.

Можно сделать так:
1. Выбрать из таблицы все, кроме UNIQUE KEY.
2. Вставить ряды в таблицу, данные взять те, что были выбраны, UNIQUE KEY - другой.

Можно сделать по-другому
1. Создать временную таблицу.
2. Сделать INSERT (куда - во вторую талицу) SELECT (что и откуда - все, кроме поля UNIQUE KEY, из первой таблицы).
3. Сделать то же самое, что в пункте 2, только наоборот.
4. Удалить временную таблицу.

Мне вот интересно, а как будет быстрее? Может кто занимался таким и подскажет чего-нибудь?

P.S. ДА, СЕЙЧАС МНЕ ВЛОМ ЭТО ТЕСТИРОВАТЬ САМОМУ :) На самом деле, просто времени нет.
 

Tor

Новичок
ну, если тебе влом самому тестировать, то всем здесь будет влом тебе отвечать

з.ы. задачу ты описал малопонятно
 

dantistus

Новичок
Я обязательно это все оттестирую чутку позже, у меня просто сейчас в даный момент нет возможности тестировать это. Вот я и написал тут - может кто-то сталкивался с такой проблемой и напишет мне готовый ответ :)

Описать проблему я старался - честно :) А что именно малопонятно?
 

kruglov

Новичок
заблокировать таблицу, задисаблить key, вставить кучу записей, заенаблить key
 

zarus

Хитрожопый макак
Вот как-то так:
INSERT INTO `table` (`val1`,`val2`...) FROM (SELECT `val1`,`val2`... FROM `table` WHERE <restrictions>) as `t1`
Только каким это боком относится к PHP? Чисто SQL-ная задачка
 

zarus

Хитрожопый макак
Вот такой запрос "прокатил" в MySQL:

INSERT INTO `table` (`val1`,`val2`...) SELECT `val1`,`val2`... FROM `table` WHERE <restrictions>

Соответственно, WHERE задает строки, которые надо дублировать
 

zarus

Хитрожопый макак
Автор оригинала: white phoenix
dantistus
> Разве такой запрос прокатит в MySQL? :-/
Зависит от версии.
Запрос работает на MySQL4.2.x, думаю, на 5.х он тоже будет работать. А что, кто-то пользуется более старыми версиями?
 

white phoenix

Новичок
zarus
> А что, кто-то пользуется более старыми версиями?
Конечно, часто вижу 4.0, даже 3.0 попадается на глаза.
 

dantistus

Новичок
Я если честно не знаю какая у нас стоит версия :( После Нового Года уж попробую :) Кстати, я в мануале читал про это что вроде нельзя таким запросом дублировать ряды в пределах одной таблицы...
 
Сверху