MySQL -Операнд должен содержать 1 столбец (ы) при вставке строки из другой таблицы

#mysql #sql #syntax #sql-insert

#mysql #sql #синтаксис #sql-вставка

Вопрос:

Во время работы над системой, которую я создаю, я попытался использовать следующий запрос в своем проекте:

 INSERT INTO wpr9_posts ( `post_date`,`post_content`,`post_title`,`post_status`,`post_type` ) 
VALUES ((SELECT '2020-08-28 18:30:43' as post_date,`image`,`name`,'publish' as post_status,'post' as post_type FROM `play` WHERE `catid` = 863 ))
  

Этот запрос вставляет строку из таблицы в другую таблицу.

Есть ли простое исправление для этого или другой способ написать мой запрос?

Ответ №1:

Вам не нужно values ключевое слово при использовании инструкции insert-select:

 INSERT INTO wpr9_posts ( `post_date`,`post_content`,`post_title`,`post_status`,`post_type` ) 
SELECT '2020-08-28 18:30:43' as post_date,`image`,`name`,'publish' as post_status,'post' as post_type FROM `play` WHERE `catid` = 863