MySQL で JDBC Connector/J を使用して 1 つのステートメントで複数のクエリを実行できますか?

Barbara Streisand
リリース: 2024-11-11 10:02:02
オリジナル
675 人が閲覧しました

Can I Execute Multiple Queries in a Single Statement Using JDBC Connector/J in MySQL?

JDBC Connector/J を使用した MySQL での複数のクエリの実行

MySQL Connector/J では、通常、セミコロンで区切られた複数のクエリを実行できません。サポートされました。代わりに、クエリは個別に実行する必要があります。

エラーの理由

execute メソッドを使用して、セミコロンで区切られた複数のクエリを含む SQL ステートメントを実行する場合、 MySQLSyntaxErrorException が発生します。これは、MySQL を含むほとんどのデータベースでは、セミコロンがステートメント構文の一部としてではなく、ステートメント終了文字として使用されるためです。

MySQL 固有のオプション

MySQL には、単一のステートメントで複数のクエリの実行を許可するために有効にできる、allowMultiQueries と呼ばれるオプションが用意されています。ただし、これは JDBC 仕様に準拠していないため、コードの移植性が低下する可能性があります。

ベスト プラクティス

最適な移植性と JDBC 仕様との互換性を実現するには、次のようにします。複数のクエリを個別に実行することをお勧めします。以下に例を示します。

Statement statement = connection.createStatement();
statement.execute("select fullName from user where user_id=1");
ResultSet resultSet1 = statement.getResultSet();

statement.execute("select fullName from user where user_id=2");
ResultSet resultSet2 = statement.getResultSet();
ログイン後にコピー

クエリを個別に実行することで、潜在的な構文エラーを回避し、コードが JDBC 標準に準拠していることを確認します。

以上がMySQL で JDBC Connector/J を使用して 1 つのステートメントで複数のクエリを実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート