Я хочу изменить таблицу на своем производственном сервере, извлекая некоторый столбец и помещая его в другую таблицу, проблема в том, что старый столбец имеет несколько значений, разделенных запятыми, и новая таблица будет помещена в несколько записей по запросу.
я знаю как 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
Любое решение? Спасибо
Вы должны получить данные из БД и сохранить их в массиве, а затем использовать explode()
функция для разделения данных
<?php
$data=explode("," , $allEmails);
?>
сейчас $data
это преобразовать в массив, как это
Array ( [0] => abc@g.com [1] => a@yahoo.com [2] => z@y.com )
наконец, вы можете вставить в новую таблицу с помощью запроса вставки
Других решений пока нет …