#mysql #sql
#mysql — сервер #sql #mysql
Вопрос:
Могу ли я обновить несколько строк с несколькими таблицами в MySQL с помощью запроса join из моего запроса join, может кто-нибудь привести мне какой-нибудь пример.
Этот мой запрос:
SELECT
p.ID,
p.post_date,
p.post_modified,
p.post_title,
p.post_status,
p.post_type,
GROUP_CONCAT(distinct t_cat.name separator ', ') as category,
GROUP_CONCAT(distinct t_tag.name separator ', ') as tags,
CONCAT('[',GROUP_CONCAT(distinct JSON_OBJECT('key', pm.meta_key,'value',pm.meta_value)),']') as meta
FROM wp_c3g3f5_posts p
JOIN wp_c3g3f5_postmeta pm ON pm.post_id = p.ID AND pm.meta_key IN (
'_sku',
'_stock',
'_stock_status',
'_visibility',
'_weight',
'_width',
'_height',
'_length',
'_featured',
'_regular_price',
'_sale_price')
JOIN wp_c3g3f5_term_relationships tr ON tr.object_id = p.id
LEFT JOIN wp_c3g3f5_term_taxonomy tt_cat ON tt_cat.term_taxonomy_id = tr.term_taxonomy_id AND tt_cat.taxonomy IN ('product_cat')
LEFT JOIN wp_c3g3f5_terms t_cat ON t_cat.term_id = tt_cat.term_id
LEFT JOIN wp_c3g3f5_term_taxonomy tt_tag ON tt_tag.term_taxonomy_id = tr.term_taxonomy_id AND tt_tag.taxonomy IN ('product_tag')
LEFT JOIN wp_c3g3f5_terms t_tag ON t_tag.term_id = tt_tag.term_id
WHERE p.ID = ?
GROUP BY p.ID
Комментарии:
1. Ознакомьтесь с синтаксисом нескольких таблиц: dev.mysql.com/doc/refman/8.0/en/update.html
2. @P.Salmon хорошо, спасибо, я сначала прочитаю
Ответ №1:
Я не совсем понимаю ваш вопрос, но если вы хотите обновить несколько строк в таблице на основе данных из других таблиц, да, это возможно, если вы хотите обновить несколько строк в нескольких разных таблицах, это будет возможно только с помощью хранимой процедуры или чего-то подобного.