The drawback you describe does not actually exist. The only columns you need to include in the INSERT statement are those sufficient to cover the ON CONFLICT. ``` INSERT INTO variables(id) SELECT id FROM variables WHERE orden >= 6 ORDER BY orden DESC ON CONFLICT(id) DO UPDATE SET orden = excluded.orden + 1; ``` The above should work just as well as your example code with all columns.