[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: INSERT INTO с SELECT и просто значениями
skolozhabskiy
добрый день,


я использую такую конструкцию запроса:

"INSERT
INTO `table1` (val1, val2, val3, val4, val5, val6)
SELECT '$value1','$value2',`p`.`id`,`p`.`field1`,`p`.`field2`,`p`.`field3`
FROM `table2` AS `p`
WHERE `p`.`field1`='$some_value'"


она работает, но суть в том, что я должен одним запросом добавить в таблицу table1 и просто значения $value1 и $value2, а также скопировать значения из таблицы table2

правильная ли это конструкция?

пробовал так:

"INSERT
INTO `table1` (val1, val2, val3, val4, val5, val6)
VALUE('$value1','$value2',
(SELECT `p`.`id`,`p`.`field1`,`p`.`field2`,`p`.`field3`
FROM `table2` AS `p`
WHERE `p`.`field1`='$some_value'))"


не работает!

какое ваше мнение?

спасибо



Спустя 7 минут, 55 секунд (22.06.2012 - 15:15) varvar написал(а):
странный запрос

но если уж его писать то как то так:


INSERT INTO `table1` (val1, val2, val3, val4, val5, val6)
SELECT '$value1','$value2', `p`.`id`,`p`.`field1`,`p`.`field2`,`p`.`field3`
FROM `table2` `p` WHERE `p`.`field1`='$some_value'

Спустя 5 минут, 12 секунд (22.06.2012 - 15:20) skolozhabskiy написал(а):
почему странный?

вы написали мой первый рабочий вариант, а спрашиваю правильно ли писать явные значения для вставки внутри SELECT? или есть иная конструкция?

спасибо

Спустя 25 минут, 52 секунды (22.06.2012 - 15:46) varvar написал(а):
сорри, смотрел на второй запрос

писать можно, но я поэтому и написал "странный", потому что $value1 и $value2 будут одинаковые для все вставленных строк

Спустя 13 минут, 34 секунды (22.06.2012 - 16:00) skolozhabskiy написал(а):
, потому что $value1 и $value2 будут одинаковые для все вставленных строк

не понял что вы имеете ввиду?

спасибо

Спустя 26 минут, 55 секунд (22.06.2012 - 16:27) varvar написал(а):
если,например, $vaule1="aaa", а $value2="bbb", и запрос вставит 10 строк, то у всех 10 вставленных строк первое и второе поля (колонки) будут иметь значения "aaa" и "bbb" соответственно

на практике такая логика хранения данных не используется

если бы вы объяснили задачу в целом, зачем вам это нужно, я бы мог ответить более конструктивно

Спустя 14 минут, 17 секунд (22.06.2012 - 16:41) skolozhabskiy написал(а):
нет значения вставляется только одна строка и $vaule1 и $value2 перед их вставкой имеют постоянные значения, а данные от второй таблицы зависят от выбираемого идентификатора.

спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.