更新表 - 不能在 FROM 子句中指定要更新的目标表"类别"



写一条UPDATE语句,修改Categories表中的drums类别。该语句应该将category_name列更改为"Woodwinds",并且应该使用category_id来标识行。

执行

UPDATE categories 
SET 
category_name = 'Woodwinds'
WHERE
category_id = (select category_id from categories where category_name='drums');

我得到这个错误:错误代码:1093。你不能在FROM子句中指定更新的目标表'categories'。

我已经提到了一个类似的帖子,但不能修复它。如果有人能帮忙,我将不胜感激。谢谢!

set @category_ids = (select GROUP_CONCAT(category_id) from categories where category_name='drums' GROUP BY category_name);
UPDATE categories 
SET 
category_name = 'Woodwinds'
WHERE
FIND_IN_SET(category_id, @category_ids)

最新更新