2

このデータを挿入したいとしましょう:

Row 1: People = '40', Places = '15'
Row 2: People = '5', Places = '10'

これが上記の実行方法であることを理解しています:

mysql_query("INSERT INTO mytable(`People`, `Places`) 
VALUES ('40', '15'),('5', '10')");

しかし、1 つのクエリで 3 つ以上の列に挿入したい場合はどうすればよいでしょうか? 挿入するデータが次のような場合:

Row 1: People = '40', Places = '15'
Row 2: People = '5', Places = '10'
Row 3: Things = '140', Ideas = '20'
Row 4: People = '10', Things = '5', Ideas = '13'

このような質問は他では見られないようです。

4

4 に答える 4

4

埋めたくない列はそのままにしておきますnull

INSERT INTO mytable(`People`, `Places`, Things, Ideas) 
VALUES ('40', '15', null, null),(null, null, 100, 20)
于 2012-04-23T19:07:00.277 に答える
4
mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`)
 VALUES ('40', '15',  null, null),
        (null, '5',   '10', null),
        ('10',  null, '11', '12')");

または、nullの代わりに0を使用したい場合は、アプリケーションにとってより使いやすいでしょう(nullエラーをスローしない)

mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`)
 VALUES ('40', '15', '0',  '0'),
        ('0',  '5',  '10', '0'),
        ('10', '0',  '11', '12')");
于 2012-04-23T19:07:25.060 に答える
1
INSERT INTO mytable(`People`, `Places`,`Things`,`Ideas`) 
VALUES ('40', '15', null, null),
       ('5', '10',null, null),
       (null, null, '140','20'),
       ('10',null,'5','13')");
于 2012-04-23T19:08:58.137 に答える
1

次のように、1 行に個別のクエリ ステートメントを記述できます。

insert into table_x (collumn_x,collumn_y) values (... ; 
insert into table_x (collumn_y, collumn_z) values (... 

等々

ステートメントを動的にマウントするための構造を構築するのは複雑かもしれませんが、少なくとも現時点で私が理解できる唯一の解決策です

これがあなたに役立つことを願っています

于 2012-04-23T19:10:44.083 に答える