2015-05-29 4 views
0

The Base TableКак вставить несколько строк одновременно с помощью INSERT INTO запроса

Так вот моя проблема, я хочу, чтобы вставить данные из этой таблицы (webform_submitted_data) к anather таблице (feedback_Analysis) данные, которые я хочу, чтобы скопировать это один с NiD = 20 и CID = 3,4,5 так что таблица будет выглядеть следующим образом,

The feedback_analysis table

так вот то, что я делаю,

insert into feedback_analysis (service,type,feedback) 
     values ((select data from webform_submitted_data where nid=20 and cid=5),(select data from webform_submitted_data where nid=20 and cid=3),(select data from webform_submitted_data where nid=20 and cid=4)); 

, но я получаю сообщение об ошибке ERROR 1242 (21000): подзапрос возвращает более 1 строки

я получил причину этого , подзапрос фактически возвращает две строки в результате, которые не может обрабатывать запрос INSERT INTO.

Я хочу, чтобы вставить все строки в таблице, так что я могу обрабатывать дальше

Так, пожалуйста, помогите мне найти решение для этого.

Я действительно хочу, чтобы применить триггер, который будет непосредственно вставить значения в feedback_analysis таблицу раз новое значение НИЗ = 20 вставляется в таблицу weform_submitted_data

спасибо.

+0

Вы можете указать SID, а затем он будет возвращать только одну строку. Сейчас ваши спецификации неоднозначны. – Aereaux

+0

Нет необходимости в этом. mysql имеет 'insert .. select from'. вам не нужны такие подзапросы. –

ответ

0

Вы можете использовать LIMIT 1

insert into feedback_analysis (service,type,feedback) 
     values ((select data 
       from webform_submitted_data 
       where nid=20 and cid=5 
       limit 1), 
       (select data 
       from webform_submitted_data 
       where nid=20 and cid=3 
       limit 1), 
       (select data 
       from webform_submitted_data 
       where nid=20 and cid=4 
       limit 1)); 
+0

С лимитом в таблицу вставлено только одно значение. Я хочу вставить все значения с помощью nid = 20 и cid = 3,4,5 в эту таблицу. –

+0

@PratikDhole if 'select data from webform_submitted_data где nid = 20 и cid = 4' возвращает более одного результата, который вы бы вставляли как' feedback'? Если вы получите больше, чем один для cid 3 и 5, как вы хотите, чтобы они спарировались в одну запись «feedback_analysis'? – Andreas

+0

@ Andreas видит, что в таблице 4 столбца, когда я выбираю данные, имеющие nid = 20 и cid = 4, тогда результаты будут двумя значениями. 1) интерактивная сессия 2) Правительство предоставляет ...... Я хочу, чтобы они были под другим ... так что, когда я выполню свой алгоритм анализа, будет легко проанализировать его настроение ...... так что Я смогу визуализировать, что персикулярная служба содержит количество позитивных настроений ..... надеюсь, это поможет –

Смежные вопросы