Heim >Datenbank >MySQL-Tutorial >Wie gehe ich mit Apostrophen in SQL-Anweisungen INSERT und SELECT um?
Das direkte Einfügen von Werten, die Apostrophe enthalten, in SQL-Abfragen kann zu Fehlern führen. Dies liegt daran, dass Apostrophe den Anfang und das Ende von Zeichenfolgen in SQL darstellen. Um dieses Problem zu lösen, müssen die Apostrophe maskiert werden.
Zum Beispiel erscheint im Feld „Last“ der Personentabelle ein Apostroph:
<code class="language-sql">Insert into Person (First, Last) Values 'Joe', 'O'Brien'</code>
Diese Syntax führt zu einem Fehler, da der Apostroph nach dem Buchstaben O als Ende des Zeichenfolgenwerts interpretiert wird. Um dies zu beheben, verdoppeln Sie einfach das Apostroph, um es zu maskieren:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien')</code>
Das gleiche Prinzip gilt für SELECT-Abfragen:
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>
Das liegt daran, dass Apostrophe zum Trennen von Zeichenfolgen verwendet werden. Wenn Sie ein tatsächliches Apostroph in einer Zeichenfolge verwenden möchten, muss es mit einem Escapezeichen versehen werden, um zu verhindern, dass SQL es mit dem Ende der Zeichenfolge verwechselt.
Es ist jedoch anzumerken, dass Entwickler beim Schreiben von Code im Allgemeinen nicht auf dieses Problem stoßen. Frameworks und Tools kümmern sich oft darum, Sonderzeichen zu maskieren und SQL-Injection-Schwachstellen zu verhindern.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Apostrophen in SQL-Anweisungen INSERT und SELECT um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!