For the query to retrieve the items back in order, logically it goes like:
select * from (items) order by `prev` --`next` doesn't help
-- also hope that NULL is at the beginning
So it's no better than Approach 1. in the article, but is actually worse with the extraneous column in storage and head scratching for the next maintainer of the system.Exercise for the reader: what happens when item id #3 is moved in between item id #1 and #2, how many update statements are needed?