Insertar comillas simples en SQL

07/Feb/2013 SQL , , , 3 Comentarios

Si estás realizando una sentencia de INSERT en una base de datos te puedes encontrar con el problema de cómo insertar comillas simples en SQL.

Esto viene derivado de que la sentencia INSERT utiliza las comillas simples para indicar el principio y fin de los campos en la propia sentencia.

  1. INSERT INTO tabla ('campo1','campo2',...'campoN') VALUES ('valor1','valor2',...,'valorN')

Por lo que si intentamos insertar un texto que tenga una comilla simple (') nos va a dar un error de sentencia.

  1. INSERT INTO Editorial ('editorial') VALUES ('O'Reilly')

Por ejemplo MySQL nos dice lo siguiente...

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Reilly')' at line 1

Para poder insertar comillas simples en SQL tenemos que duplicar la comilla simple. Es decir, ponerla seguida dos veces.

De esta forma nos funcionará la sentencia de INSERT siguiente:

  1. INSERT INTO Editorial ('editorial') VALUES ('O''Reilly')

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

3 comentarios en “Insertar comillas simples en SQL”

Víctor Cuervo

Alejandro

Perdón por preguntar 3 años después, pero se puede configurar el Xampp para que tome directamente las comillas simples y todos los símbolos “prohibidos” sin modificar los php? porque tengo un sitio de carga de notas en italiano y los comentarios que llevan tilde simple no los carga y me da ese error…..

Víctor Cuervo

Víctor Cuervo

@Salas Flavio,

Si estás utilizando PHP lo que propones es muy buena solución. Muchas gracias por el aporte.

Saludos.

Víctor Cuervo

Salas Flavio

$dataString = (preg_match(“”,”\'”, $dataString);
O lee el manual hay una funcion:
http://php.net/manual/es/function.addslashes.php

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*