Разделите разделенные данные запятыми на несколько строк

Я хочу изменить таблицу на своем производственном сервере, извлекая некоторый столбец и помещая его в другую таблицу, проблема в том, что старый столбец имеет несколько значений, разделенных запятыми, и новая таблица будет помещена в несколько записей по запросу.
я знаю как INSERT INTO user_emails(user_id, email) SELECT id, email FROM users но это скопировало бы все содержимое поля.

table users (old)
-----------------------------------------------------
id  name  emails (removed)
-----------------------------------------------------
1   A     aaa@email.com, bbb@email.com
2   B     ccc@email.com, ddd@email.com, eee@email.com

table user_emails (new table)
---------------------------------
id  user_id  email
---------------------------------
1   1        aaa@email.com
2   1        bbb@email.com
3   2        ccc@email.com
4   2        ddd@email.com
5   2        eee@email.com

Любое решение? Спасибо

1

Решение

Вы должны получить данные из БД и сохранить их в массиве, а затем использовать explode() функция для разделения данных

<?php
$data=explode("," , $allEmails);
?>

сейчас $data это преобразовать в массив, как это

Array ( [0] => abc@g.com [1] => a@yahoo.com [2] => z@y.com )

наконец, вы можете вставить в новую таблицу с помощью запроса вставки

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector