如何在MySQL数据库中插入一系列行

时间:2012-04-16 18:56:16

标签: mysql sql insert sequence

我有一个现有的表,我想用它来完成以下操作:

insert into the_table set col0=1, col1=0, col2=0;
insert into the_table set col0=2, col1=0, col2=0;
insert into the_table set col0=3, col1=0, col2=0;
...
...
insert into the_table set col0=255, col1=0, col2=0;

因为这是我将要一次又一次地以交互方式进行的事情,我想知道如何将它简化为单个语句并且经常通过控制台将其推入。

编辑:

在控制台上键入以下内容是不现实的:

insert into the_table (col1, col2, col3) values (0,0,0),(1,0,0)....(255,0,0);

感谢。

4 个答案:

答案 0 :(得分:3)

insert into the_table (col0, col1, col2) values
(1, 0, 0),
(2, 0, 0),
(3, 0, 0)

我不能代表MySQL,但SQL Server将此限制为每个语句1000行。

答案 1 :(得分:2)

INSERT INTO the_table
    (col0, col1, col2)
    VALUES
    (1, 0, 0),
    (2, 0, 0),
    (3, 0, 0),
    ...
    (255, 0, 0)

答案 2 :(得分:2)

您还可以将这些值放入另一个表格中,然后使用INSERT..SELECT

进行操作
INSERT INTO the_table (col0, col1, col2)
SELECT col0, col1, col2 FROM the_table_defaults

答案 3 :(得分:2)

有点hacky,从技术上讲,这将是两个问题:

SET @i:=0;
INSERT INTO the_table (col0,col1,col2)
SELECT @i:=@i+1,0,0 FROM SomeTable LIMIT 255;

其中SomeTable是数据库中至少有255行的任何表。