MySQL - Problema con where

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 22 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Problema con where

Publicado por Marcelo (2 intervenciones) el 11/03/2019 02:22:54
Hola a todos,

Estoy haciendo la siguiente consulta en mysql SELECT * FROM libreria.libros WHERE 'id_libro' = 7;
Donde id_libro es int(11).
Y no me trae ningun registro, aun existiendo el id_libro 7.
El select con where me lo trae todo pero cualquier where que le ponga no me trae nada.

Saludos,

Marcelo Alonso


Problema
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con where

Publicado por leonardo_josue (414 intervenciones) el 11/03/2019 20:59:04
Hola Marcelo:

Mucho ojo, no es lo mismo el apostrofe o comilla sencilla (') al acento inverso o grave (`)

En MySql, las comillas simples sirven para denotar CADENAS DE CARACTERES mientras que el acento grave o invertido sirve para delimitar NOMBRES DE IDENTIFICADORES... tú, tal como tienes tu consulta estás comparando la cadena 'ID_LIBRO' no el campo libro:

1
2
3
4
5
6
7
8
9
10
mysql> SELECT * FROM tabla WHERE `id` = 1;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
+------+-------------+
1 row in set (0.00 sec)
 
mysql> SELECT * FROM tabla WHERE 'id' = 1;
Empty set, 1 warning (0.00 sec)

el acento grave NO ES NECESARIO, si tus nombres de campos complen con las reglas de MySQL para el nombrado de identificadores, de tal suerte que podrías poner el nombre de tu campo SIN USAR NINGUN CARACTER.

1
2
3
4
5
6
7
mysql> SELECT * FROM tabla WHERE id = 1;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
+------+-------------+
1 row in set (0.00 sec)

te recomiendo que LEAS LA DOCUMENTACIÓN OFICIAL al respecto:

http://ftp.tcrc.edu.tw/MySQL/doc/refman/5.0/es/legal-names.html

Haz la prueba y nos comentas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 22 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Problema con where

Publicado por Marcelo (2 intervenciones) el 11/03/2019 21:38:23
Muchas gracias Leonardo.
Funciona con el acento inverso o con solo el nombre del campo para otros campos. Pero el acento inverso tampoco me funciona en el campo id_libro, el tema como mencionaste pasa por el caracter _ que aparentemente no podría utilizar para nombrar un campo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar