it seems that the oracle is either smarter about the execution order, or just checks the constraints after applying the update to all lines. anyway, the mysql example can be fixed by specifying the update order.
create table t7(c1 int primary key,c2 int);
insert into t7 values (1,3);
insert into t7 values (2,4);
select * from t7;
update t7 set c1=c1+1 order by c1 desc;
see http://sqlfiddle.com/#!9/8611f4/1
(2,3) , (2,4) . , (2,4) → (3,4), (1,3) → (2,3) .