Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Перенос данных с таблицы в таблицу
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Пришлось сделать новый сайт, надо перенети данный записей с одной в другую без потери данных...
напр. Старая таблица №1 из которой надо перенести данный в таблицу №2: Таблицу №1
т.е. грубо сказать надо перенести данное WHERE comp_id == id и перенести данные с поля lang_id = 1 в title_rus, а потом сделаю lang_id = 2 в title_eng и lang_id = 3 в title_tur
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Например:
0. Делаете дамп первой таблицы, назвав ее `companies` и занося данные так, как это есть у первой таблицы (у Вас получится первая таблица по структуре и данным, но с другим названием).
1. Поля, которых нет в оригинальной таблице - добавить через
ALTERTABLE`companies`CHANGE<старое имя поля><новое описание>
3. "Дамп" готов.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
pantela
Отправлено: 29 Января, 2013 - 14:32:32
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Как сделать дамп ясно конечно, у меня стоит вопрос втом как перенессти данные с определёной таблицы с определёной записи с определёного поля в определёную таблицу в определёное поле...
т.е. если внимательно посмотреть на структуру у меня информация о записи (компания) в другой таблицу, теперь перестраиваем сайт и приходить как бы объединить эти 2 таблицы в одну.
EuGen
Отправлено: 29 Января, 2013 - 14:38:33
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Теперь более понятно.
Это тоже просто - используйте синтаксис INSERT..SELECT
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
pantela
Отправлено: 29 Января, 2013 - 15:39:39
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Не понимаю точно как сделать мне бы один пример запроса с один поле в поле, а там я сам уже перепишу другие поля и WHERE... грубо сказать
WHERE comp_id (таблица companies_lang)== id (таблица companies) и перенести данные с поля lang_id (таблица companies)=1 в title_rus(таблица companies_lang), а потом сделаю lang_id =2 в title_eng и lang_id =3 в title_tur
Но тут ошибыка #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (SELECT `name` FROM `companies_lang` WHERE `lang_id` = '3')' at line 1
Я понимаю что тут сперва надо определить через SELECT и помот подставить в UPDATE
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Не надо. Оставьте имеющуюся нормальную структуру.
----- PostgreSQL DBA
pantela
Отправлено: 30 Января, 2013 - 22:14:14
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Согласен, но грубо сказать, сайт который я делал давно одному заказчику передали другому на реконструкцию, вот и тот программист по своему делает...
Подскажите а как выполнить запрос, только через phpMyadmin вроде не получится... наверное надо вынести все записи в PHP файл, и от туда уже через разделить впихнуть всё в поле,
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.