2017-06-10 16 views
-1

次のステートメントで1064エラーが発生します - 注:ステートメントの両方の句が個別にOKを処理します。最初の句からどのようなレコードが生成されたら、2番目のレコードが実行されるべきであると私は理解しましたか?私はストアドプロシージャを使いたくなく、SET @valを使ったテクニックも失敗するようです。誰かお考えですか?テーブルが存在する場合のテーブルの選択 - 単一ステートメントの場合

SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = 'ft_form_103' WHERE EXISTS (SELECT * FROM 'ft_form_103'); 

答えて

0

あなたが実際に望んでいたものを理解できませんでしたが、スクリプトを見ても構文エラーです。私は構文を訂正し、以下のSQLは動作します。これがあなたが探していたものだと願っています。

SQL: SELECT IFNULL((INFORMATION_SCHEMA.TABLES FROM TABLE_NAMEを選択する場合、 '表が見つかりません' TABLE_NAME = 'ft_form_103'));; TABLE_NAME AS

+0

こんにちは@ user3454116 ...私は 'ランダム'テーブル名でSELECT文を実行する必要があります。これらのテーブルはユーザ指定であり、指定されたテーブルが存在しない場合、私はそのクエリをERRORにしたくありません。私は機能コードでこれをトラップすることはできませんし、私はストアドプロシージャを使用することはできません。私はあなたの提案したコードを試しましたが、#1109で失敗しました。 - unknown_ table_fair_schemaの 'ft_form_103'。 AND EXISTSステートメントを削除すると、コードは正常に動作します –

+0

テーブルが存在しない場合、クエリで何を実行しますか? – user3454116

+0

こんにちは@ user3454116 ...返信と良い質問ありがとうございました!実際には、私はクエリを証明した後、私はNOT EXISTSステートメントに変更するつもりだったので、ユーザーが存在しないテーブルを選択した場合、私は 'ダミー'リターンを作成します。存在しない(SELECT 'Invalid Selection'など)。より完全には、私は2つの入力ボックスを持っています。最初の入力が上記のクエリを構築するために使用され、そのレコードが2番目の(ドロップダウン)ボックスを埋めるために使用されます。私は、ユーザーが無効なテーブルを指定すると、すべてのものがエラーになるという状況を避けようとしています。 –

関連する問題