SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.11.2011 12:57:23

djed
Участник
Зарегистрирован: 08.09.2010
Сообщений: 4

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

Всем привет, нужна помощь, как сделать 100 копий строк в таблице. заранее спасибо.

Неактивен

 

#2 03.11.2011 13:01:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать копии строк в таблице

100 копий каждой строки
или
всего 100 копий одной произвольной строки
или
всего 100 копий по одной копии каждой строки (а если коло-во строк в таблице больше или меньше 100)?

Неактивен

 

#3 03.11.2011 13:11:45

djed
Участник
Зарегистрирован: 08.09.2010
Сообщений: 4

Re: Как сделать копии строк в таблице

извиняюсь, за не раскрытый вопрос. да нужно сделать 100 копии одной произвольной строки

Неактивен

 

#4 03.11.2011 13:29:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать копии строк в таблице

Подозреваю, что вы хотите это сделать одним запросом wink
Тогда

insert into `таблица` select t1.* from
(select * from `таблица` order by rand() limit 1) t1 join (
select 1 as i
union all
select 1 as i
-- здесь повторяем union ещё 97 раз
union all
select 1 as i) t2;

Неактивен

 

#5 03.11.2011 13:35:46

djed
Участник
Зарегистрирован: 08.09.2010
Сообщений: 4

Re: Как сделать копии строк в таблице

конечно хочу сделать одним запросом 100 копий, я так понял это не возможно?)

Неактивен

 

#6 03.11.2011 13:42:45

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как сделать копии строк в таблице

Почему невозможно? См пример выше.

Чтобы не превращать его в простыню, вы можете его упростить - заранее подготовив таблицу из 100 строк или делая вспомогательную выборку  из таблицы в которой заведомо больше 100 строк.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson