Tôi có một bảng với các mô tả sản phẩm và mỗi mô tả sản phẩm có một product_id
và a language_id
. Những gì tôi muốn làm là cập nhật tất cả các lĩnh vực với một language_id
số 2
được bình đẳng với cùng product_id
nơi language_id
là 1
.
Cho đến nay tôi đã thử truy vấn sau đây, nhưng tôi gặp lỗi cho thấy MySQL không muốn cập nhật bảng trong đó bảng cũng đang được sử dụng trong truy vấn con.
UPDATE
products_description AS pd
SET
pd.products_seo = (
SELECT
pd2.products_seo
FROM
products_description AS pd2
WHERE
pd2.language_id = 1
AND pd2.products_id = pd.products_id
)
WHERE
pd.language_id <> 1
Có cách nào "đơn giản" xung quanh giới hạn này trong MySQL không? Hoặc bất kỳ "thủ thuật" nào? Tôi hơi ngạc nhiên khi truy vấn của tôi không hoạt động, vì nó có vẻ hợp lý.