快速SQL问题...当我运行以下查询时,所有内容都被转储到我的数据库的第一列(1980
)...当我明确指出第二个查询应该适用于第二个我的DB的列(1981
)..在我开始拔头发之前的任何想法? : - )
INSERT INTO `merit_order` (`1980`) VALUES ('2'), ('17'), ('10'), ('20'), ('9'), ('24'), ('33'), ('54'), ('5'), ('40'), ('12'), ('1'), ('6'), ('3'), ('18'), ('60'), ('72'), ('55'), ('63'), ('19'), ('44'), ('37'), ('35'), ('36'), ('30'), ('28'), ('25'), ('23'), ('4'), ('61'), ('8'), ('80'), ('49'), ('43'), ('53'), ('47'), ('45'), ('46'), ('48'), ('52'), ('42'), ('16'), ('22'), ('26'), ('14'), ('11'), ('27'), ('29'), ('31'), ('32'), ('13'), ('38'), ('39'), ('15'), ('41'), ('7'), ('21'), ('51'), ('50'), ('34'), ('57'), ('79'), ('81'), ('70'), ('68'), ('58'), ('62'), ('56'), ('76'), ('73'), ('74'), ('64'), ('65'), ('66'), ('71'), ('59');
INSERT INTO `merit_order` (`1981`) VALUES ('2'), ('17'), ('10'), ('20'), ('9'), ('24'), ('33'), ('54'), ('5'), ('40'), ('12'), ('1'), ('6'), ('3'), ('18'), ('60'), ('72'), ('55'), ('63'), ('19'), ('44'), ('37'), ('35'), ('36'), ('30'), ('28'), ('25'), ('23'), ('4'), ('61'), ('8'), ('80'), ('49'), ('43'), ('53'), ('47'), ('45'), ('46'), ('48'), ('52'), ('42'), ('16'), ('22'), ('26'), ('14'), ('11'), ('27'), ('29'), ('31'), ('32'), ('13'), ('38'), ('39'), ('15'), ('41'), ('7'), ('21'), ('51'), ('50'), ('34'), ('57'), ('79'), ('81'), ('70'), ('68'), ('58'), ('62'), ('56'), ('76'), ('73'), ('74'), ('64'), ('65'), ('66'), ('71'), ('59');
进一步的细节:由于某些原因,这里解释的时间太长,我必须逐列推送值,而不是逐行推送。这就是我需要为每列进行单独查询的原因。据我所知,这是将值推入列的正确方法(INSERT INTO TABLE(列)VALUES(a),(b),(c)等....)这就是我在这里所做的。
答案 0 :(得分:1)
您正在进行两次INSERT
次查询,这意味着您要创建两个记录。你最终会得到一张类似
1980 1981
2 null
17 null
10 null
etc...
null 2
null 17
null 10
如果要填写使用第一个1981
创建的SAME记录中的insert
列,则必须运行单独的UPDATE
查询才能更改每个行的值,或在一个插入中执行两个列:
INSERT INTO yourtable (`1980`, `1981`) VALUES ('2', '2'), ('17', '17'), etc...
或LONG系列
UPDATE yourtable SET `1981` = '2' WHERE `1980`= 2
UPDATE yourtable SET `1981` = '10' WHERE `1980`= 10
etc...
甚至只是
UPDATE yorutable SET `1981` = `1980`.