单独的MYSQL查询会产生错误

时间:2014-12-12 16:32:57

标签: php mysql sql-server

快速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)等....)这就是我在这里所做的。

1 个答案:

答案 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`.