У меня есть таблица с именем «products», а другая таблица с именем «rate», которая имеет отношение один ко многим с таблицей «products». Для каждого продукта у меня есть две строки в таблице «ставок», которые я хочу обновить по одному логическому столбцу с именем «index» до 1 для каждого «продукта» в таблице «ставок».
Я использовал этот запрос:
UPDATE ( SELECT
products.id AS productId,
products.name ,
X.`index` AS `index`,
x.id AS rateId,
x.price, x.discount
FROM products JOIN ( SELECT rates.*
FROM rates
) AS x
WHERE products.id = x.product_id
GROUP BY products.id
) AS y
SET y.index = 1
но id получил эту ошибку, массаж:
SQL Ошибка (1288) целевая таблица y обновления не может быть обновлена
i ' Я новичок в mysql, и я не знаю, где моя ошибка. Спасибо за помощь
Таблица продуктов
| id | name
| 1 | chair
| 2 | bench
Таблица тарифов
| id | product_id | index | value
| 1 | 1 | 0 | xx ==> index = 1
| 2 | 1 | 0 | yy
| 3 | 2 | 0 | zz ==> index = 1
| 4 | 2 | 0 | tt
i хочу обновить столбец индекса для каждого продукта в ставках до 1