Si te encuentras en la situación de estar trabajando con una base de datos, específicamente realizando una sentencia de INSERT
, es posible que te topes con un problema bastante común: cómo insertar comillas simples en SQL.
Este lenguaje de programación tiene una particularidad cuando se trata de las sentencias INSERT
, y es que utiliza las comillas simples para diferenciar el comienzo y el fin de los campos dentro de la propia sentencia. Esto puede generar una cierta confusión a la hora de intentar insertar comillas simples, ya que su uso está ya asignado a otra función dentro de la sentencia, lo cual puede dar lugar a errores si no se maneja correctamente.
Esto lo podemos ver cuando nos fijamos en la sintaxis de la operación INSERT
, la cual se describe de la siguiente forma:
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. Por ejemplo, imaginemos que queremos insertar el valor O’Reilly el cual contiene ya una comilla simple en su texto. La sentencia SQL que escribiremos será la siguiente:
INSERT INTO Editorial ('editorial') VALUES ('O'Reilly')
Al momento en que decidimos ejecutar nuestra consulta en un motor de bases de datos como MySQL, nos encontraremos con que nos devuelve un mensaje específico. Este mensaje es el resultado de nuestra consulta y nos brinda información muy valiosa sobre lo que ocurrió al procesar nuestra solicitud en el motor de bases de datos:
#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 dentro del valor. Es decir, ponerla seguida dos veces. Por lo que para el texto O’Reilly tendremos que poner O’’Reilly.
De esta forma nos funcionará la sentencia de INSERT
siguiente:
INSERT INTO Editorial ('editorial') VALUES ('O''Reilly')
Con esto ya habremos conseguido resolver el problema de cómo insertar comillas simples en SQL.