Just for the completeness the first answer syntax error is due to the FROM. Update syntax need no FROM, as the UPDATE defines all the tables and joins and the SET actually defines what is to be updated. It's a bit backwards as far as straight semantics goes and not as nice as SELECT ... FROM ... which sounds like natural language. For example, you would say
UPDATE X, Z
SET X.C = Z.A
WHERE X.C = Z.B
even though you will not be updating the table Z at all, but one gets used to it. Good part is that you would write the UPDATE part exactly like you would write the FROM part in the SELECT queries - so it can be as complex as you need it to be and still makes it easy to turn SELECT queries into UPDATE queries (previewing your UPDATE queries sets with SELECT is a good practice on any ad-hoc queries on live data).
To go from UPDATE query to SELECT just replace UPDATE with FROM, SET with SELECT, equal signs with commas (in the SELECT part) and of course put the select on top
SELECT X.C, Z.A
FROM X, Z
WHERE X.C = Z.B
Will give you a preview of the operation that'll get executed, listing the old value of the field and new value that'll get assigned to it.
Mysql has decent docs. You might prefer to read them backwards - first the examples toward the end, then the full reference definitions. Also usually you'll find some really usefull comments below the articles.