У меня есть запрос DB2 , который я хочу сделать MySQL совместимым:
UPDATE
(
SELECT x.name, row_number() over () as rown from XYZ x where x.id = '123' and
x.div='abc')A
SET
A.name = 'name_1'
where
A.rown<= ( select count(*) -1 from XYZ where id='123' and div='abc');
Теперь я попытался написать это I MySQL :
UPDATE
(
select x.name, (@row_number := @row_number +1) as rown
from XYZ x, (Select @row_number := 0)as t
where x.id='123' and x.div='abc'
) A
Set
A.name = 'name_1'
where
A.rown<= ( select count(*) -1 from XYZ where id='123' and div='abc');
Однако, это дает мне ошибку: The target table A of the UPDATE is not updatable
Я пробовал несколько способов, но все тщетно. Куда я иду не так?
Также, если запрос DB2 можно сделать в MySql любым другим способом, так как Mysql не поддерживает
row_number()