Postgresql での「列が存在しません」エラーの解決
PostgreSQL と Java の間の接続を確立しているにもかかわらず、接続しようとするとエラーが発生します削除操作を実行すると、「列 'mac' は存在しません」というメッセージが表示されます。この問題は、テーブル内に MAC 列が存在するにもかかわらず、Postgresql エンティティ名の大文字と小文字の区別に起因します。
これに対処するには、列名に大文字が含まれる場合は二重引用符 (" ") で囲みます。 。あなたの場合、次のようにクエリを変更します:
String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";
さらに、セキュリティを強化し、SQL インジェクションの脆弱性を防ぐために、準備されたステートメントを利用し、パラメータを通じて値を設定します:
con = DriverManager.getConnection(url, user, password); String stm = "DELETE FROM hostdetails WHERE \"MAC\" = ?"; pst = con.prepareStatement(stm); pst.setString(1, "kzhdf"); pst.executeUpdate();
このアプローチ列名と値が正確に一致することを保証し、「列が存在しません」エラーを回避し、コードのセキュリティを強化します。
以上がJavaでPostgreSQLの「列が存在しません」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。