我有一个现有的表,我想用它来完成以下操作:
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);
感谢。
答案 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行的任何表。