ホームページ >データベース >mysql チュートリアル >PostgreSQL から削除するときに Java コードで「列が存在しません」エラーがスローされるのはなぜですか?
Java プログラムを PostgreSQL に接続し、CRUD 操作を実行することは、多くの場合に不可欠です。アプリケーション。この記事では、Java を使用して PostgreSQL テーブルからデータを削除しようとしたときに発生する一般的なエラーについて説明します。
次のコードを実行すると、
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE MAC = 'kzhdf'"; pst = con.prepareStatement(stm); pst.executeUpdate();
ユーザーが発生する可能性があります。エラーが発生しました:
SEVERE: ERROR: column "mac" does not exist
使用時PostgreSQL では、大文字を含むエンティティ名 (テーブルや列など) は二重引用符 ("") を使用して「エスケープ」する必要があります。したがって、正しいコードは次のとおりです。
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
さらに、セキュリティとパフォーマンスを向上させるために、準備されたステートメントを使用することをお勧めします。コードは次のように更新する必要があります:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
以上がPostgreSQL から削除するときに Java コードで「列が存在しません」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。