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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With