INSERT INTO SELECT не работает - PullRequest
       20

INSERT INTO SELECT не работает

1 голос
/ 10 сентября 2011

Мне нужна помощь, чтобы вставить несколько выбранных столбцов из таблицы1 в другую таблицу2 (с предложением WHERE).Столбцы, которые я хочу вставить, одинаковы в обеих таблицах.Но у каждой таблицы есть другие столбцы, которых нет в другой таблице.Например, в table2 есть столбец под названием «соседство», которого нет в table1.Я хочу получить nid, ccn, reportdatetime, latitude, longitude, event_type из table1 и поместить его в table2, и столбец «окрестности» для этой новой строки должен быть нулевым.

Это мой 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 Ответ

14 голосов
/ 10 сентября 2011

Назовите столбцы, в которые вы вставляете:

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

Это приведет к вставке нулей в столбцы, которые не имеют явного имени

...