Вставка строки в таблицу SQL с некоторыми предопределенными значениями, а некоторые из другой таблицы, а также строки соединения. - PullRequest
0 голосов
/ 11 октября 2018

Здравствуйте, я пытаюсь выполнить этот запрос ниже:

INSERT INTO Database2.Table2 ('1', getdate(), getdate(), '',ID,'','0','0','0','',ID,'','',getdate(),getdate(),'','0','"stackoverflow.com/"'+'ID','0','product','','0') 
SELECT ID
FROM Database1.Table1;

Я вставляю новую строку с постоянными данными, смешанными с данными из другой таблицы, в данном случае Database1.Table1 "ID".Я постоянно получаю ошибку выбора оператора, когда пытаюсь запустить этот код.Есть ли что-то, что я наблюдаю или это утверждение совершенно неверно?Спасибо

1 Ответ

0 голосов
/ 11 октября 2018

Поместите константы в список SELECT.

INSERT INTO Database2.Table2 
SELECT '1', getdate(), getdate(), '',ID,'','0','0','0','',ID,'','',getdate(),getdate(),
       '','0',CONCAT('"stackoverflow.com/"','ID'),'0','product','','0', ID
FROM Database1.Table1;

Кстати, я настоятельно рекомендую вам отказаться от привычки использовать INSERT без перечисления имен столбцов перед значениями.В зависимости от конкретного порядка столбцов в определении таблицы очень подвержены ошибкам.

Кроме того, MySQL по умолчанию не использует + для объединения строк, он использует функцию CONCAT().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...