Вставьте кучу повторяющихся строк в таблицу MySQL - PullRequest
1 голос
/ 12 апреля 2010

Мне нужно вставить 50 строк в таблицу MySQL. Все они должны быть абсолютно идентичны, кроме первичного ключа.

Есть ли запрос, который может это сделать?

Ответы [ 3 ]

2 голосов
/ 12 апреля 2010

Просто используйте цикл while:

declare var1 int
select var1 = 0
BEGIN 
 WHILE (var1 < 50) DO 
   insert...
   Select var1 = var1 + 1
 END WHILE;
END
0 голосов
/ 05 августа 2017

Если у вас есть случайная существующая таблица, в которой больше строк, чем вы хотите вставить, вы можете сделать это:

вставить в таблицу1 (строка1, строка2) выбрать идентичное значение1 , идентичное значение2 из таблицы2 ограничение 50

например:.

вставить в table1 (myint, mystr, mystr2) выбрать 123, "привет", "мир" из таблицы 2 предел 50



- Обратите внимание, что вы на самом деле ничего не вставляете из table2

0 голосов
/ 12 апреля 2010

Брутально, но эффективно:

INSERT INTO MyTable (data, num)
SELECT 'textdata' as data, 1234 as num
FROM
( SELECT 1
  UNION ALL
  SELECT 1
) as a,
( SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
) as b,
( SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
  UNION ALL
  SELECT 1
) as c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...