|
MySQL.RU - Webboard
Вернуться
Своя функция при insert и select =\ (AlexanderTV) 24/02/2011 - 20:34:49
Re: Своя функция при insert и select =\ (Akina) 28/02/2011 - 18:14:18
Re: Своя функция при insert и select =\ (AlexanderTV) 02/03/2011 - 04:50:39
From: AlexanderTV - 24/02/2011 - 20:34:49
Subject:Своя функция при insert и select =\
-----------------
Подскажите...
Надо вставить в таблицу значение из другой таблицы, но обработанное функцией.
Есть массив
$arr = array('1'=>'a', '2'=>'b', '3'=>'c', '4'=>'d');
и функция
my_func($str)
{
$arr = array('1'=>'a', '2'=>'b', '3'=>'c', '4'=>'d');
return $arr[$str];
}
Вставляю без функции значения копируются
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT col1, col2, col3 FROM `{$db_table_2}`
Вставляю с функцией, все значения кроме обработанного функцией копируются.
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".my_func(col1)."', col2, col3 FROM `{$db_table_2}`
а сама функция не получает полученное значение, не обрабатывает, и выдает пустой результат.
Просто использовать функцию без значений получается.
my_func()
{
return 'abc';
}
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".my_func(col1)."', col2, col3 FROM `{$db_table_2}`
вставляется abc.
А вот передать значение выбранное select'ом не получается.
Хотя например такой запрос, с функцией даты работает.
INSERT INTO `{$db_table_1}` (`col1`, `col2`, `col3`)
SELECT '".date("Y-m-d")."', col2, col3 FROM `{$db_table_2}`
Вот =\
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
38019
|
|