Существует много ответов для вставок типа «где не существует», которые ожидают, что вы укажете столбцы для вставки. У меня более 400 столбцов, а две таблицы имеют одинаковую схему.Неизвестный столбец в разделе 'where not exists clause'
Существует также много ответов для неизвестного столбца, но не тот, который я могу найти во вставке, где не существует оператора. Я не могу понять проблему и надеюсь, что кто-то здесь может помочь.
Вот SQL скрипку http://sqlfiddle.com/#!9/70a34b/1
Вот один из нескольких запросов я пробовал:
INSERT INTO test1
SELECT * FROM test2 b
WHERE NOT EXISTS(SELECT * FROM test2 c WHERE test1.go = c.go);
Я получаю ошибку Неизвестный столбца «test1.go» в «где предложение»
Проблема здесь test1 не в объеме, как это часть вставки, а не часть избранных. 'INSERT INTO test1 SELECT * FROM test2 b WHERE b.go не в (Выберите переход из test1);' – xQbert
@Ryan. Проверка backticks была первой, что я сделал, и это не проблема. Я бы не поставил вопрос, если бы я еще не провел час, проверяя его и создавая sqlfiddle. @ XQbert, вы правы, что это вне области видимости, но есть несколько столбцов, которые нужно сопоставить, чтобы исключить строка из вставки. Как вы можете это сделать и сопоставить несколько столбцов. У меня есть другие запросы, в которых я указываю столбцы для вставки, и он работает, но выбранное свойство * сохраняет это от работы, и я действительно не хочу вводить 408 имен столбцов в оператор select дважды. –