Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 04.10.2018
Сообщений: 10
1
MySQL

Перенести данные из одной таблицы в другую

10.10.2018, 13:36. Показов 4826. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Подскажите, пожалуйста, как решить данную задачу. Есть 3 таблицы бд: table1(id_1, name1,e-mail_1,id_2), table2(id_2,name2), table3(id_3, id_2,name3,name1, e-mail_1). Нужно перенести массив с данными, полученными из table1 в table3.

PHP
1
2
3
4
5
6
7
8
9
10
<?php 
include "db.php";
 
$result = mysqli_query($db, "SELECT * FROM table1
JOIN table2 ON table1.id_2 = table2.id_2"); 
 
 
$row = mysqli_fetch_array($result);
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2018, 13:36
Ответы с готовыми решениями:

Перенести данные с одной таблицы в другую.
Приветствую всех! Возникла проблема, помогите решить пожалуйста. Объединял конвертером сайт и...

Перенести данные с одной на другую таблицу
добрый вечер помогите в объединение таблиц. Вот сами таблицы CREATE TABLE IF NOT EXISTS...

Вытаскиваем необходимые данные из одной таблицы и вписываем в другую на одной странице
Всем привет ..... сразу к делу &lt;?php $res = mysql_query(&quot;SELECT id FROM `album`...

Данные из одной таблицы в другую по ID
Выбирается товар по диапазону значений, далее по ID требуется выбрать товар, и записать данные в...

7
362 / 304 / 73
Регистрация: 15.09.2017
Сообщений: 1,400
10.10.2018, 15:13 2
SQL
1
INSERT ... SELECT ...
1
0 / 0 / 0
Регистрация: 04.10.2018
Сообщений: 10
10.10.2018, 17:25  [ТС] 3
Phantom-84, вот как-то так должно получиться?
PHP
1
2
3
4
5
6
7
8
9
<?php 
 
include "db.php";
 
$result = mysqli_query($db, "INSERT INTO table3 (id_3, id_2, name3,name1, e-mail_1) SELECT * FROM table1
JOIN table2 ON table1.id_2 = table2.id_2"); 
 
 
?>
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
10.10.2018, 17:31 4
Del
0
362 / 304 / 73
Регистрация: 15.09.2017
Сообщений: 1,400
10.10.2018, 20:55 5
Luska, да, примерно так. Состав указанных в запросе полей новой таблицы должен в точности соответствовать результатам выборки.

Добавлено через 4 минуты
И не забывайте, что при использовании ON поле, по которому происходит связывание таблиц, может дублироваться в выборке, поэтому либо явно перечисляйте все выбираемые поля, либо используйте USING().
1
0 / 0 / 0
Регистрация: 04.10.2018
Сообщений: 10
12.10.2018, 11:07  [ТС] 6
Phantom-84, а скажите, пожалуйста, как можно решить данную задачу, если нужно использовать массивы? И разумно ли так делать?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
include "db.php";
 
$result1 = mysqli_query($db, "SELECT * FROM table1
JOIN table2 ON table1.id_2 = table2.id_2"); 
 
$row = mysqli_fetch_array($result1);
$id_2=$row['id_2'];
$name1=$row['name1'];
$email_1=$row['email_1'];
 
$result2 = mysqli_query($db,"INSERT INTO table3(`id_3`, `id_2`, `name1`, `email_1`) 
 VALUES (NULL, '{$id_2}','{$name1}', '{$email_1}')");
  
?>
0
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
12.10.2018, 11:27 7
Цитата Сообщение от Luska Посмотреть сообщение
если нужно использовать массивы
Сомневаюсь, что без цикла перебора элементов массива это будет работать. И уж всяко это неразумно.
1
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
12.10.2018, 11:48 8
Luska, Luska,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
include "db.php";
 
$result1 = mysqli_query($db, "SELECT 
                                            * 
                                            FROM
                                             `table1`
                                            JOIN
                                            ` table2 `
                                             ON 
                                             table1.`id_2` = table2.`id_2`"); 
 
while($row = mysqli_fetch_assoc($result1)){
                                        $result2 = mysqli_query($db,"INSERT INTO
                                                                             table3
                                                                             (`id_3`, 
                                                                             `id_2`,
                                                                              `name1`, 
                                                                              `email_1`) 
                                                                                VALUES
                                                                                 (NULL,
                                                                                  '".$row['id_2']."',
                                                                                  '".$row['name1']."',
                                                                                  '".$row['email_1']."')");
}
До этого писал этот же код Вам, потом подумал что через
PHP
1
 INSERT ... SELECT
будет по сути одно и тоже, поэтому пост затер выше. Я так обычно делал когда нужно было данные перекинуть. И да, разумно. Все будет 1 в 1.
1
12.10.2018, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2018, 11:48
Помогаю со студенческими работами здесь

Перенести данные из одной таблицы в другую
Добрый день нужен перенос данных. Из одной таблицы в другую. Проблема в том, что должна вносится...

Перенести данные из одной таблицы в другую
Всем доброго времени суток.нужно перенести данные из одной таблицы в другую при нажатии на кнопку,и...

Перенести данные из одной таблицы в другую
Здравствуйте! Скажите как сначала перенести данные из одной таблицы А, в таблицу B, которые...

Как перенести данные из одной таблицы в другую
Всем привет. Может кто помочь с таким вопросом? Задана база база данных &quot;Газеты&quot;, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru