ホームページ >データベース >mysql チュートリアル >PostgreSQL から削除するときに Java コードで「列が存在しません」エラーがスローされるのはなぜですか?

PostgreSQL から削除するときに Java コードで「列が存在しません」エラーがスローされるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 05:43:13268ブラウズ

Why Does My Java Code Throw a

エラー: Java を使用して PostgreSQL から削除するときに列が存在しません

はじめに

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。