Behebung des PostgreSQL-DELETE-Anweisungsfehlers: „Spalte existiert nicht“
Beim Durchführen eines Löschvorgangs in einer PostgreSQL-Datenbank ist die Fehlermeldung „Spalte „existiert nicht“ aufgetreten. Die Fehleranweisung lautet wie folgt:
<code class="language-sql">delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";</code>
Diese Anweisung beabsichtigt, einen Datensatz aus der Tabelle „Aufgaben“ basierend auf einem bestimmten „id“-Wert zu löschen. Der Fehler besagt jedoch, dass das System „fc1f56b5-ff41-43ed-b27c-39eac9354323“ als Spaltennamen und nicht als Bezeichner interpretiert.
Die Ursache für dieses Problem ist die inkonsistente Verwendung von Anführungszeichen. In SQL stellen doppelte Anführungszeichen (") Bezeichner dar (z. B. Tabellennamen, Spaltennamen), während einfache Anführungszeichen (') Zeichenkonstanten enthalten. In dieser Anweisung werden doppelte Anführungszeichen verwendet, um sowohl den Tabellennamen als auch die „ID“ zu definieren verglichen werden „Wert.
Um dieses Problem zu beheben, stellen Sie sicher, dass Zeichenkonstanten ordnungsgemäß in einfache Anführungszeichen gesetzt werden und Bezeichner weiterhin in doppelte Anführungszeichen gesetzt werden. Die folgende korrigierte Anweisung sollte erfolgreich ausgeführt werden:
<code class="language-sql">delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323';</code>
Das obige ist der detaillierte Inhalt vonWarum schlägt meine Postgres-DELETE-Abfrage mit der Meldung „Spalte „existiert nicht' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!