が存在する:私はそのようロジックを追加しようとしていますのMySQL 5.5 IFは、私はいくつかの古い会社のMySQL 5.5のコードでは、いくつかの論理チェックをラップしようとしていますTHEN構文問題
CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);
、例えば
別の表が存在する場合、クエリにのみ実行されます。ここでは
If <table_b> EXISTS
THEN
CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);
END IF;
は、MySQL 5.5の構文(https://dev.mysql.com/doc/refman/5.5/en/if.html)
次の私のクエリですIF EXISTS(SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'table_b_database'
AND table_name = 'table_b')
THEN
CREATE TABLE IF NOT EXISTS <table_a> (
blah blah blah
);
END IF;
悲しいことに、エラーメッセージがあります:
SQL Error (1064): You have an error in your SQL syntax;
任意の達人は、啓発てもらえますか?ありがとう。
MySQLを助けることを願ってい
ような何かを行うことができるはずは '場合はサポートしています'ステートメントは、ストアドプロシージャ、関数、トリガなどのプログラミングブロックで使用できます。 –
ストアドプロシージャを使用する代わりに、実行された各ステートメントの結果を調べて、何かが実行されたかどうかを確認します。 – tadman
別々に実行すると各ステートメントはうまくいくが、一緒に配置するとエラーメッセージが返されます。 – Chubaka