Home >Database >Mysql Tutorial >How Do I Escape Apostrophes in SQL INSERT and SELECT Statements?
Handling Apostrophes in SQL Data Insertion
Inserting data containing apostrophes directly into a SQL database can lead to errors. The apostrophe, acting as a string delimiter, can prematurely terminate the string. To avoid this, you must escape the apostrophe within your SQL query.
Correct Method:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien');</code>
Notice how the apostrophe within "O'Brien" is escaped by doubling it (''
). This clearly indicates to the database that it's part of the string, not a delimiter.
Apostrophe Handling in SELECT Statements:
The same escaping technique applies to SELECT
queries:
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien';</code>
Why Escape?
The apostrophe's role as a string boundary in SQL necessitates escaping. Doubling it ensures the database correctly interprets it as data, preventing premature string termination.
Automated Escaping in Programming:
Directly manipulating SQL with raw queries requires manual apostrophe escaping. However, most programming languages and database frameworks offer built-in functions to automatically handle escaping, preventing SQL injection vulnerabilities. Using these functions is strongly recommended.
The above is the detailed content of How Do I Escape Apostrophes in SQL INSERT and SELECT Statements?. For more information, please follow other related articles on the PHP Chinese website!