3

既存のテーブルがあり、これを使用して次と同等の処理を実行したいと思います。

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;

これは私が何度もインタラクティブに行うことなので、それを1つのステートメントに減らして、コンソールを介して頻繁に押し込む方法を知りたいと思います。

編集:

コンソールで次のように入力するのは現実的ではありません。

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

ありがとう。

4

4 に答える 4

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

MySQLについて話すことはできませんが、SQLServerはこれをステートメントあたり1000行に制限しています。

于 2012-04-16T18:58:10.707 に答える
3

少しハックですが、技術的には、これは 2 つのクエリになります。

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

SomeTable少なくとも 255 行あるデータベース内のテーブルはどこにありますか。

于 2012-04-16T20:49:46.973 に答える
2
INSERT INTO the_table
    (col0, col1, col2)
    VALUES
    (1, 0, 0),
    (2, 0, 0),
    (3, 0, 0),
    ...
    (255, 0, 0)
于 2012-04-16T18:58:23.627 に答える
2

これらの値を別のテーブルに入れ、INSERT..SELECTでそれを行うこともできます:

INSERT INTO the_table (col0, col1, col2)
SELECT col0, col1, col2 FROM the_table_defaults
于 2012-04-16T19:13:17.520 に答える