sql >> データベース >  >> RDS >> Mysql

JDBCPreparedStatementでMySQL構文エラーが発生する

    ほとんどのデータベースでは、テーブル名のようなオブジェクト名をパラメータ化できません。MySQLでは、理論的にはMySQL Connector / Jがデフォルトでサーバー側のパラメータを使用しないため、クエリを書き換えてからサーバーに送信します。ただし、値は引用符で囲まれた文字列として挿入され、オブジェクト名を引用符で囲まれた文字列にすることはできないため、機能しません。

    したがって、INSERT INTO ? またはSELECT ... FROM ? INSERT INTO 'theTable'を生成するため、機能しません またはSELECT ... FROM 'theTable'

    オブジェクト名は、実際のクエリの一部である必要があります。それらのパラメータは使用しないでください。他のほとんどのデータベース(またはそれらのドライバー)は、この位置にパラメーターがある場合に例外をスローします。



    1. #1214-使用されるテーブルタイプはFULLTEXTインデックスをサポートしていません

    2. MySQLは増分変数でフィールドを更新します

    3. JDBCを使用したMySQL一般クエリログの有効化

    4. CentOS 8 /RHEL8にMySQL8.0をインストールする方法