.sqlファイルのSQL構文を確認する方法はありますか。.sqlファイルのSQL構文を確認するにはどうすればよいですか?
答えて
あなたは、MySQLクエリブラウザ(GUI Toolsパッケージの一部)のようなクエリブラウザに貼り付けて、視覚的にキーワードや文字列リテラルを使用すると、構文エラーを作った場合は、より簡単に確認するように着色されているか検査できます。
だけで取引を開始
....それを実行
実行それ
ロールバック
これを実行すると答えは出ますが、そのファイルに 私の構文エラーが表示されています.... – maxjackie
有効な構文を持つことができますが、実行時にエラーが発生する –
テーブルがMyISAMの場合、暗黙的コミット・ステートメント(例えばDDL)を実行するか、またはスクリプトにCOMMITステートメントが含まれている場合 –
そこにあなたをできるようになるといくつかの無料/試みるウェア製品があります。 MySQLデータベースに接続するか、スクリプトを貼り付けて検証するだけです。 Googleはあなたの友人です。 Mimer will check ANSI-Standard syntax validationしかし、おそらくMySQLの詳細は扱えません。
possiblitiesがいくつかあります。あなたがトランザクションをサポートするInnoDBテーブルを使用している場合は、単にあなたの.sqlファイルの先頭にstart transaction;
と最後にrollback;
を実行することができます。 MySQLは構文エラーを出力します。
UPDATE
またはDELETE
ステートメントをテストしている場合は、最後にLIMIT 0
を追加して、これらのクエリがデータベースを変更しないようにしても構いません。
スクリプトには、暗黙のコミットを引き起こすステートメントが含まれている場合があります。 –
これは、.sqlファイルの内容についていくつかの前提があります。 –
基本レクサーは、SQL/sql_lex.ccに実装しているようです。独自のテストパーサーを構築するために/ salvageを使用することができます。 しかしこれは構文だけをチェックしますが、ランタイムエラーはチェックしません。
この種のプログラム的な解決策は、例えば、mysqldumpの結果が少なくとも構文的に完全であることを検証するのに非常に役立ちます。 – ClearCrescendo
TLDR:
>awk '{print "EXPLAIN " $0}' statements.sql | mysql --force -u user -p database | grep "ERROR"
不思議
、mysqlはありません、このためのスイッチを内蔵していますが、目の前にEXPLAIN
ステートメントを追加することによって、構文をチェックすることができますあなたの質問。
あなたが1行上の各ステートメントを使用してstatements.sql
ファイルを持っている場合は、とのすべての行の前にEXPLAIN
を先頭に追加:あなたはその後、mysql
コマンドラインツールを使用してステートメントを実行し、--force
にを使用することができます
>awk '{print "EXPLAIN " $0}' statements.sql > check.sql
それは誤って続けます。構文が正しくない文については、エラーを出力します。
>mysql --force -u user -p database < check.sql
それとものみにエラーが発生した行を表示します。
>mysql --force -u user -p database < check.sql | grep "ERROR"
あなたは、中間ファイルを作成せずに1行ですべてを行うことができます。
>awk '{print "EXPLAIN " $0}' statements.sql | mysql --force -u user -p database | grep "ERROR"
これを追加してファイルを1行にする必要はありません。 'awk '{if(sub(/; $;、"; \ n "))printf" EXPLAIN%s "、$ 0; else print $ 0} 'statements.sql'セミコロンで終わる行を結合します。 – Jon49
- 1. SQL Server 2008 R2でSQL構文を検証するにはどうすればよいですか?
- 2. SQL UPDATEコマンド - 更新されたレコードの数を確認するにはどうすればよいですか?私のようなSQL文がある場合
- 3. 実際のクエリを実行せずにJDBC文のSQL構文を確認するにはどうすればよいですか?
- 4. sp_refreshsqlmodule sprocをサポートするSQL Serverのバージョンを確認するにはどうすればよいですか?
- 5. SQLで一重引用符で名前を確認するにはどうすればよいですか?
- 6. SQLインジェクション攻撃のURLを確認するにはどうすればよいですか?
- 7. SQL Serverのファイルにどのテーブルのデータが含まれているかを確認するにはどうすればよいですか?
- 8. ファイルが空であるかどうかを確認するにはどうすればよいですか?
- 9. ファイルが存在するかどうかを確認するにはどうすればよいですか?
- 10. ファイルが存在するかどうかを確認するにはどうすればよいですか?
- 11. SQL Serverオブジェクトの存在を確認して削除するにはどうすればいいですか?
- 12. SQL Server 2008では、varcharパラメータをデータ型のお金に変換できるかどうかを確認するにはどうすればよいですか?
- 13. 各IDから最初のSQL文のみを選択するようにこのSQL文を変更するにはどうすればよいですか?
- 14. ファイルが有効なExcelスプレッドシートかどうかを確認するにはどうすればよいですか?
- 15. IF文のSql Serverストアドプロシージャでパラメータが空であるかヌルであるかを確認するにはどうすればよいですか?
- 16. ファイルを削除できるかどうかを確認するにはどうすればいいですか?
- 17. MS SQL Serverでストアドプロシージャが削除されているかどうかを確認するにはどうすればよいですか?
- 18. 指定したLinq-to-Sqlオブジェクトがdatacontextにアタッチされているかどうかを確認するにはどうすればよいですか?
- 19. テンプレートパラメータのタイプを確認するにはどうすればよいですか?
- 20. アプリのフレームレートを確認するにはどうすればよいですか?
- 21. openCLのリファレンスカウンタを確認するにはどうすればよいですか?
- 22. ghcのバージョンを確認するにはどうすればよいですか?
- 23. オブジェクトのタイプを確認するにはどうすればよいですか?
- 24. recvfrom()のメッセージサイズを確認するにはどうすればよいですか?
- 25. OpenMPIのバージョンを確認するにはどうすればよいですか?
- 26. クライアントのNLS_LANGを確認するにはどうすればよいですか?
- 27. JavaScriptでファイルサイズを確認するにはどうすればよいですか?
- 28. kivyでキーボードイベントを確認するにはどうすればよいですか?
- 29. IIS7でリクエストタイプを確認するにはどうすればよいですか?
- 30. WPFでカーソルサイズを確認するにはどうすればよいですか?
これは明確化の多くを必要とします役に立つ(と開いている)。あなたは視覚的にSQLを調べるためのヒントを求めていますか?あなたは構文を確認するのに役立つスクリプトを探していますか?スクリプトを実行していて、特定のエラーを理解するのに役立つ必要がありますか? –
私は彼らがファイルが有効なmySql構文を持っていることを確認したいと思います。 –
SQLファイルまたはスクリプトを視覚的に検査することによって、構文をチェックすることもできます。 – maxjackie