Q
Problem solve Get help with specific problems with your technologies, process and projects.

Inserting values which contain a quote character

Actually I am confused over how to insert a text field in the table which contains single quote in it.

insert into myemployees_ts0211
   ( firstname, lastname
   , title, age, salary)
 values
   ( 'Maureen', 'O'Hara'
   , 'Secretary', 28, 19500.00);

In the above example I can not insert the single quote (') in the name field. Please let me know what can be done. I am using SQL to query an Access database, and I am not sure about the escape characters. Please help.


In Microsoft Access (and SQL Server, and Oracle, and DB2), this is done by using two consecutive quote characters for every quote to be inserted.

insert into myemployees_ts0211
   ( firstname, lastname
   , title, age, salary)
 values
   ( 'Maureen', 'O\'Hara'
   , 'Secretary', 28, 19500.00);

If you are just typing your INSERT statement into a query window, this is sufficient -- you just have to remember to do it (the database will give you an error message if you don't).

The problem is a bit trickier if you are constructing the INSERT statement, using, for example, values in form fields that come from a web page. In this case, you have to have some way of programmatically searching for single quotes inside fields, and replacing each one with two. The Devguru article SQL Queries and the Single Quotation Symbol Problem has a good example of this.

In MySQL and PostgreSQL, by the way, it's done with a backslash instead of two consecutive quotes. Why? Because.

insert into myemployees_ts0211
   ( firstname, lastname
   , title, age, salary)
 values
   ( 'Maureen', 'O'Hara'
   , 'Secretary', 28, 19500.00);

For More Information

  • What do you think about this answer? E-mail the edtiors at editor@searchDatabase.com with your feedback.
  • The Best SQL Web Links: tips, tutorials, scripts, and more.
  • Have an SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
  • Ask your technical SQL questions -- or help out your peers by answering them -- in our live discussion forums.
  • Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.

This was last published in May 2002

Dig Deeper on Oracle and SQL

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchDataManagement

SearchBusinessAnalytics

SearchSAP

SearchSQLServer

TheServerSide.com

SearchDataCenter

SearchContentManagement

SearchFinancialApplications

Close