将一堆重复的行插入mysql表中

时间:2010-04-12 06:19:36

标签: mysql insert

我需要在mysql表中插入50行。除主键外,它们应完全相同。

是否有可以执行此操作的查询?

3 个答案:

答案 0 :(得分:2)

只需使用while循环:

declare var1 int
select var1 = 0
BEGIN 
 WHILE (var1 < 50) DO 
   insert...
   Select var1 = var1 + 1
 END WHILE;
END

答案 1 :(得分:0)

残酷而有效:

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

答案 2 :(得分:0)

如果您有一个随机存在的表,其行数多于您想要插入的行,则可以执行以下操作:

  

插入table1(row1,row2),从table2 limit 50中选择相同的value1 相同的value2

e.g:

  

插入table1(myint,mystr,mystr2)选择123,“你好”,“世界”   来自table2 limit 50



  - 请注意,您实际上并未从table2中插入任何内容