Вставить в таблицу MySQL данные из SELECT с промежуточной обработкой
Необходимо получить данные из таблицы - типа
SELECT `id`, `fname`, `lname`, `sex`
FROM `contacts`
WHERE `id` > 10
AND `id` < 100
Обработать их функцией типа:
public static function makeLeadKey ($fname = '', $lname = '', $sex = '')
{
$code = (mb_strlen($fname) >= 2 ? mb_substr($fname, 0, 2) : ' ') .
(mb_strlen($lname) >= 2 ? mb_substr($lname, 0, 2) : ' ') .
(mb_strlen($sex) == 1 ? $sex : ' '));
return mb_strlen($code) == 5 ? mb_strtoupper($code) : false;
}
И результат вставить обратно в таблицу типа:
INSERT INTO `contacts` (`id`,`lead_key`)
SELECT `id`, `fname`, `lname`, `sex`
FROM `contacts`
WHERE `id` > 10
AND `id` < 100
ON DUPLICATE KEY UPDATE `lead_key` = VALUES(` ??? `)";
вопроса два:
- как встроить обработку в запрос перед операцией вставки (хорошая практика) в MySQL 5.7, PHP Version 5.3.3-7+squeeze19?
- как бы вы искали ответ на такой вопрос в инете? мне там ответ найти не удалось