2012-03-16 3 views
0

Я пытаюсь сделать выбор из одной таблицы и вставить возвращаемые значения в другую таблицу с общим значением, представляющим параметр поиска, с помощью функции insert/select. Для ради простоты вместо ...Вставка в несколько строк MYSQL с одним общим значением

INSERT INTO tbl_name (a,b) VALUES (1,1,1), (4,5,6); 

Я хочу сделать что-то вроде этого ....

INSERT INTO tbl_name (a,b) VALUES (1), (4,5,6); 

исключения случаев, когда второй столбец Ь имеют несколько сот значений и «а» является общим стоимость. Я пробовал использовать SET для 'a', но либо это невозможно, либо я не могу получить синтаксис правильно. Причина, по которой я делаю это, - не создавать функцию вставки в PHP. Вот лучшее, что я есть ....

INSERT INTO tbl_name 
    (a,b) 
SET a = '1' 
SELECT c 
    FROM tbl_name2 
WHERE `d` LIKE '%word%' 
+1

Сообщение [ваш собственный ответ в качестве ответа ниже] (http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions), а затем пометить его как принято, нажав галочку. –

+1

Угадайте, мне нужно подождать 8 часов, чтобы ответить. – bikedorkseattle

+0

Я этого не знал. В этом случае вы можете отменить свое редактирование, чтобы восстановить свой ответ, если хотите. В противном случае кто-то еще почти наверняка ответит через несколько минут. –

ответ

0

ОК, я нарисовал это, уже набрал все это, мог бы также опубликовать ответ для всех.

INSERT INTO tbl_name 
    (a,b) 
SELECT "2", c 
    FROM tbl_name2 
WHERE d LIKE '%word%' 
0

я, возможно, отсутствует пункт, но делать:

 
INSERT INTO tbl_name (a,b) (SELECT 1,c FROM tbl_name2 WHERE d like '%word%';); 

будет делать эту работу.