Задать вопрос
@EVOSandru6

Как в mysql обновить значение поля относительно связи другого поля?

Добрый день,

Хочу перенести данные из связочной таблицы в основную (m_products.photo = mc_photo.id)

Создал новое текстовое поле photo_var

Пробовал такой запрос, но словил

UPDATE m_products
SET photo_var = mc_photo.name
from mc_photo
WHERE m_products.photo = mc_photo.id;


Ловлю:

#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 'from mc_photo WHERE m_products.photo = mc_photo.id' at line 3

Как исправить запрос?
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
Если не ошибаюсь, то так:
UPDATE m_products, mc_photo
SET m_products.photo_var = mc_photo.name
WHERE m_products.photo = mc_photo.id;

см. пример внизу
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
UPDATE m_products t
JOIN mc_photo p on t.photo = p.id
SET t.photo_var = p.photo_name


только непонятно, как оно должно работать, когда фото несколько? или там связь 1-к-1?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы