я использую такую конструкцию запроса:
"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? или есть иная конструкция?
спасибо
вы написали мой первый рабочий вариант, а спрашиваю правильно ли писать явные значения для вставки внутри SELECT? или есть иная конструкция?
спасибо
Спустя 25 минут, 52 секунды (22.06.2012 - 15:46) varvar написал(а):
сорри, смотрел на второй запрос
писать можно, но я поэтому и написал "странный", потому что $value1 и $value2 будут одинаковые для все вставленных строк
писать можно, но я поэтому и написал "странный", потому что $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 перед их вставкой имеют постоянные значения, а данные от второй таблицы зависят от выбираемого идентификатора.
спасибо
спасибо