UPDATE with MAX() problem

For some reason when I try an UPDATE statement using MAX() in the WHERE clause, it still updates all the instances.
Here the statement:

 
UPDATE site SET VIEWS=VIEWS+1
WHERE VERSION = (SELECT MAX(VERSION));

VERSION being the primary key, and VIEWS being another attribute.

The statement is meant to UPDATE the table ‘site’ by adding 1 to the VIEWS column, but only for the highest value VERSION.
What is wrong with this statement? It seems completely valid and fine to me. and I’ve been stumped on this for a bit now.

  • SpyrL