यह काम करना चाहिए
update
content,
(
select
@row_number:=ifnull(@row_number, 0)+1 as new_position,
ContentID
from content
where CategoryID=1
order by position
) as table_position
set position=table_position.new_position
where table_position.ContentID=content.ContentID;
लेकिन मैं उपयोगकर्ता परिभाषित चर को अनसेट करने के लिए इसे पहले लागू करना पसंद करूंगा
set @row_number:=0;
Mchl द्वारा जोड़ा गया:
आप इसे इस तरह के एक बयान में कर सकते हैं
update
content,
(
select
@row_number:=ifnull(@row_number, 0)+1 as new_position,
ContentID
from content
where CategoryID=1
order by position
) as table_position,
(
select @row_number:=0
) as rowNumberInit
set position=table_position.new_position
where table_position.ContentID=content.ContentID;