Heim >Datenbank >MySQL-Tutorial >Warum gibt meine SQL-Abfrage „Spalte ‚Mary' existiert nicht' zurück?

Warum gibt meine SQL-Abfrage „Spalte ‚Mary' existiert nicht' zurück?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-01 02:56:13482Durchsuche

Why Does My SQL Query Return

„Spalte ‚Mary‘ existiert nicht“: Das Zitat-Rätsel verstehen

Beim Ausführen der folgenden SQL-Abfrage kann ein Fehler auftreten zeigt an, dass die Spalte „Maria“ nicht existiert:

SELECT telephone.telephonenumber AS tel
FROM person, telephone
WHERE person.idperson = telephone.idperson
AND person.personname = ‘Mary’;

Verwirrenderweise beziehen Sie sich nicht darauf „Mary“ als Spaltenname, sondern eher als Vergleichswert. Die Ursache dieses Fehlers liegt in der Verwendung von Anführungszeichen („Mary“) anstelle einfacher Anführungszeichen („Mary“) zur Begrenzung des Zeichenfolgenliterals.

In SQL werden häufig Anführungszeichen verwendet werden zum Einschließen von Spaltennamen oder Tabellennamen verwendet, da sie Mehrdeutigkeiten verhindern, wenn Bezeichner mit reservierten Wörtern kollidieren könnten. Wenn es jedoch um Zeichenfolgenliterale geht, wie z. B. den Wert, den Sie mit dem Personennamen vergleichen möchten, ist es wichtig, einfache einfache Anführungszeichen zu verwenden.

Durch Ersetzen der intelligenten Anführungszeichen durch einfache einfache Anführungszeichen sollte die Abfrage erfolgreich ausgeführt werden und gibt die richtige Telefonnummer für die Person mit dem Namen „Mary“ zurück. Hier ist die korrigierte Abfrage:

SELECT telephone.telephonenumber AS tel
FROM person, telephone
WHERE person.idperson = telephone.idperson
AND person.personname = 'Mary';

Denken Sie daran, dass es wichtig ist, einfache einfache Anführungszeichen für Zeichenfolgenliterale in SQL zu verwenden, um Fehler zu vermeiden und sicherzustellen, dass Ihre Abfragen wie beabsichtigt funktionieren.

Das obige ist der detaillierte Inhalt vonWarum gibt meine SQL-Abfrage „Spalte ‚Mary' existiert nicht' zurück?. 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