Can anyone explain why this happens in MySQL?
mysql> select * from test;
+----+---+---+
| id | a | b |
+----+---+---+
| 1 | 1 | 1 |
+----+---+---+
1 row in set
mysql> update test set a = a + 1, b = a + 1;
Query OK, 1 row affected
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from test;
+----+---+---+
| id | a | b |
+----+---+---+
| 1 | 2 | 3 |
+----+---+---+
1 row in set
mysql>
Schema:
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL,
`a` int(10) unsigned NOT NULL,
`b` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;