INSERT INTO SELECT不起作用

时间:2011-09-09 23:57:00

标签: mysql sql select insert-into

我需要帮助将table1中的一些选定列插入另一个table2(带有WHERE子句)。我要插入的列在两个表中都是相同的。但是,每个表都有其他列不在另一个表中。例如,table2有一个名为'neighborhood'的列,它不在table1中。我想从table1中获取nid,ccn,reportdatetime,latitude,longitude,event_type并将其放在table2中,此新行的“邻域”列应为null。

这是我的MySQL:

INSERT INTO table2 
SELECT nid, ccn, reportdatetime, latitude, longitude, event_type 
FROM table1 
WHERE nid=943662

我收到了这个错误:

#1136 - Column count doesn't match value count at row 1

有关如何使其发挥作用的任何建议吗?

1 个答案:

答案 0 :(得分:14)

命名要插入的列:

INSERT INTO table2 (nid, ccn, reportdatetime, latitude, longitude, event_type) 
SELECT nid, ccn, reportdatetime, latitude, longitude, event_type 
FROM table1 
WHERE nid=943662;

这将导致将空值插入未明确命名的列