powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / update нескольких значений в одну таблицу из другой таблицы
5 сообщений из 5, страница 1 из 1
update нескольких значений в одну таблицу из другой таблицы
    #39307229
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запроса вида
Код: sql
1.
2.
3.
update table1 set 
col1= (select propertyA from table2 where table1.id=table2.id) , 
col2= (select propertyB from table2 where table1.id=table2.id) 


Запрос работает, но вопрос к производительности.
Если только один col1, то оно выполняется за 0.2секунды, это ок.
Если же запрос как в примере - col2, то оно выполняется за 0.4 секунды.
Мне же надо выбирать около 8 значений, и скорость получается 1.6 секунды, что уже ад.
Причину я в принципе понимаю - он каждый раз выполняет этот запрос, но запрос-то по сути один и тот же, только разные поля.
Есть ли какой-то вариант по типу написать

Код: sql
1.
update table1 set col1,col2=(select propertyA,propertyB from table2 where table1.id=table2.id)

?
что бы выборка из другой таблицы была реально только 1 раз
...
Рейтинг: 0 / 0
update нескольких значений в одну таблицу из другой таблицы
    #39307235
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dev.mysql.com/doc/refman/5.7/en/update.html UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
...
Рейтинг: 0 / 0
update нескольких значений в одну таблицу из другой таблицы
    #39307258
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Э, так, видимо я неправильно сформулировал вопрос:)

Вот это условие
Код: sql
1.
select propertyA from table2 where table1.id=table2.id


оно на самом деле не просто выборка из таблицы, а хитровыделанный джоин по нескольким таблицам с сортировкой и лимитом.
И соответственно просто вставить мультитабличный апдейт не получается.
...
Рейтинг: 0 / 0
update нескольких значений в одну таблицу из другой таблицы
    #39307261
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то скрываете... тогда ответ таков
UPDATE items,month -вместо month вставьте свой мудренный джойн
или
UPDATE tab1 join tab2 join tab3
SET
WHERE
и т.д. - все это работает
...
Рейтинг: 0 / 0
update нескольких значений в одну таблицу из другой таблицы
    #39307264
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
Ничего не скрываю, просто сами запросы и таблицы на работе остались, а домой только мысль принес:)

Ситуация банальна, условно говоря
Таблица товаров. goods: id, txt
Таблица свойств товаров. properties: id, txt
Таблица товары<>свойства товаров: m2m: id_goods, id_properties

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

Первый вариант не работает , вместо таблицы запрос не вкрячивается, выдает ошибку.

А вот второй вариант похоже самое то, спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / update нескольких значений в одну таблицу из другой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]