Вставить в таблицу 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(` ??? `)";

вопроса два:

  1. как встроить обработку в запрос перед операцией вставки (хорошая практика) в MySQL 5.7, PHP Version 5.3.3-7+squeeze19?
  2. как бы вы искали ответ на такой вопрос в инете? мне там ответ найти не удалось

Ответы (0 шт):