Heim >Datenbank >MySQL-Tutorial >Warum löst meine PostgreSQL-DELETE-Anweisung in Java den Fehler „Spalte existiert nicht' aus?

Warum löst meine PostgreSQL-DELETE-Anweisung in Java den Fehler „Spalte existiert nicht' aus?

Linda Hamilton
Linda HamiltonOriginal
2024-12-24 13:04:14247Durchsuche

Why Does My PostgreSQL DELETE Statement Throw a

PostgresSQL: „Fehler: Spalte existiert nicht“ beim Löschen von Tabellendatensätzen

In Java, wenn versucht wird, Datensätze aus einer PostgreSQL-Tabelle zu löschen , kann ein „Fehler: Spalte existiert nicht“ ausgegeben werden. Dieser Fehler wird häufig auf in Großbuchstaben geschriebene Spaltennamen zurückgeführt.

PostgresSQL unterscheidet bei seinen Entitätsnamen (Tabellen, Spalten usw.) zwischen Groß- und Kleinschreibung. Um dieses Problem zu beheben, müssen in Großbuchstaben geschriebene Spaltennamen mit doppelten Anführungszeichen (") „escaped“ werden. Beispielsweise wird die folgende Abfrage erfolgreich ausgeführt:

String stm = "DELETE FROM hostdetails WHERE \"MAC\" = 'kzhdf'";

Darüber hinaus sollte der Wert bei Verwendung vorbereiteter Anweisungen verwendet werden nicht direkt innerhalb der SQL-Anweisung festgelegt werden, verwenden Sie stattdessen die Methode setString(), um den Parameterwert zu übergeben:

pst.setString(1, "kzhdf");

Das obige ist der detaillierte Inhalt vonWarum löst meine PostgreSQL-DELETE-Anweisung in Java den Fehler „Spalte existiert nicht' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn