Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> из 1 таблицы в другую 
:(
    Опции темы
nepster
Дата 30.7.2012, 03:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



к примеру в mysql базе есть 2 таблички 

table1 и table2 

в табличках разные ячейки, но скажем в обоих таблицах есть поле text.

Возможно ли скопировать скажем из  table1 в table2 данные с поля text? 


Подскажите пожалуйста, может кто то делал подобный запрос ? 
PM MAIL   Вверх
Данкинг
Дата 30.7.2012, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Не знаю, как именно в мускуле, но в целом как-то так должно быть:
Код

update table1 set table1.text=table2.text



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akina
Дата 30.7.2012, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(Данкинг @  30.7.2012,  10:18 Найти цитируемый пост)
в целом как-то так должно быть

Ну зачем говорить, не думая?

Цитата(nepster @  30.7.2012,  04:43 Найти цитируемый пост)
Возможно ли скопировать скажем из  table1 в table2 данные с поля text? 

Бессмысленно.
Следует сперва точно определить соответствие между записями таблиц. Как определить, в какую из записей целевой таблицы должно быть занесено значение из каждой записи табюлицы исходной? Причём такое соответствие должно быть однозначным!
Если же речь о том, что записей во второй таблице ещё нет, и они должны быть созданы - то тут многое, включая саму возможность операции. зависит от DDL таблицы. Любой уникальный индекс, кроме ключевого (а в некоторых диалектах и он), или лдюбое not-null поле без дефолтного значения не дадут выполнить операцию.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
nepster
Дата 30.7.2012, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 26.4.2009

Репутация: нет
Всего: нет



Тут  расклад такой. Есть скажем CMS, есть самописный сайт. 
Хочу импортировать базу из самописа в CMS.

К примеру есть CMS табличка news в ней есть поле text и user_id. Табличка в  news пустая. 

есть еще табличка с самописного сайта к примеру news2, в ней другие поля, но есть так же 2 поля  text и user_id. 

И возможно ли именно данные с этих 2 полей перекопировать с news2 в news? 
PM MAIL   Вверх
Данкинг
Дата 30.7.2012, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(Akina @  30.7.2012,  15:12 Найти цитируемый пост)
Ну зачем говорить, не думая?

Ну да, я условие WHERE забыл ещё.

Добавлено через 39 секунд
Код

update table1 set table1.text=table2.text where table1.id=table2.id



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
rodnover
Дата 30.7.2012, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009

Репутация: 1
Всего: 10



Код

insert into news(id_user, text)
select id_user, text
from news2


Вот такое можно для наполнения пустой таблички. Вставит все выбранные селектом записи.
PM MAIL   Вверх
Akina
Дата 30.7.2012, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(nepster @  30.7.2012,  17:24 Найти цитируемый пост)
возможно ли именно данные с этих 2 полей перекопировать с news2 в news?  

Читайте ещё раз:

Цитата(Akina @  30.7.2012,  15:12 Найти цитируемый пост)
Следует сперва точно определить соответствие между записями таблиц. Как определить, в какую из записей целевой таблицы должно быть занесено значение из каждой записи табюлицы исходной? Причём такое соответствие должно быть однозначным!

После чего см. последнее сообщение Данкинга.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 31.7.2012, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(Akina @  30.7.2012,  23:05 Найти цитируемый пост)
После чего см. последнее сообщение Данкинга. 

Он все равно опять накосячил smile
Откуда взялся алиас table2 - не понятно smile


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Данкинг
Дата 31.7.2012, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Как откуда?
Цитата(nepster @  30.7.2012,  04:43 Найти цитируемый пост)
table1 и table2 




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Zloxa
Дата 31.7.2012, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(Данкинг @  31.7.2012,  02:16 Найти цитируемый пост)
Как откуда?

в запросе у тебя перечислен доступ только к table1
table2 упоминается только в предикатах отбора и в set кляузе. Здесь не указываются таблицы, здесь указываются аллиасы (которые, да, совпадают с именами таблиц, если не определены явно). Требуется необходимость доступа к таблице указать как-то. Либо в апдейт листе, либо в жойн кляузе. Так получается все равно что использовать не декларированные переменные или же запрос на выборку, где table2 не перечислен ни во фром, ни в жойн, аля:
Код

select table1.*,table2.*
from table1
where table1.val = table2.val

Ведь бред же? Согласен?  smile 

Это сообщение отредактировал(а) Zloxa - 31.7.2012, 08:56


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Данкинг
Дата 31.7.2012, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Так я общий пример привёл. На фоксе такое вполне прокатит.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Zloxa
Дата 31.7.2012, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Цитата(Данкинг @  31.7.2012,  10:35 Найти цитируемый пост)
На фоксе такое вполне прокатит. 

1) Если фокс дейсвтительно такое позволяет, то это скорее исключение нежели правило
2) ТС явно указал MySQL. 


Это сообщение отредактировал(а) Zloxa - 31.7.2012, 09:40


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.