Q:

mySQL - If statement giving syntax error

So I have the following query:
IF ( ( SELECT RevisionNumber FROM SchemaVersion ) > 1 ) THEN BEGIN
    CREATE TABLE Test ( ID INT );
    CREATE TABLE Test2 ( ID INT );
END;
END IF

Basically I want to decide based on a value in my table (SchemaVersion - always has 1 row) whether or not I need to make certain changes.
However, when I use this query I get the following error message:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF ( ( SELECT RevisionNumber FROM SchemaVersion ) > 1 ) THEN BEGIN
 CREATE T' at line 1

Any idea why this is erroring / how to fix?
I was just reading another post and apparently BEGIN / END are only allowed within stored procs.  Is there any way to get around this (without putting it in a stored proc).
Thanks

A:

The IF statement is part of what's called Compound-statement Syntax, and it is only available inside stored code, like a trigger, function, or stored procedure.
http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-compound-statements.html

A:

Using IF with brackets calls the IF function, which is different from IF statement

Note There is also an IF() function, which differs from the IF
  statement described here. See Section 11.4, “Control Flow Functions”.

