The analogy given assumes that 1) there is a primary key in the table 2) the affected columns are not in the primary key both of which are fulfilled by the OP's schema. Also note the non-optional ellipses which represent the remaining fields of the table and should not be empty. It was not intended to be executed instead of an UPDATE, just as a mental model. This works for your schema, however: asql> select rowid,* from xx; rowid c3 c4 ---------- -- -- 1 1 2 2 3 4 asql> replace into xx (rowid,c3,c4) select rowid,c4,c3 from xx; rows inserted ------------- 2 asql> select rowid,* from xx; rowid c3 c4 ---------- -- -- 1 2 1 2 4 3