2009-09-11 32 views
7

Estoy usando MySQL, tengo una tabla que tiene 9 columnas. Uno de ellos es la clave principal.Seleccionar una sola fila en MySQL

¿Cómo puedo seleccionar una sola fila, por la clave principal o columna 8 o 4?

+0

seleccione una sola fila: 'select * from yourtable limit 1;' –

Respuesta

18

Si entiendo bien su pregunta:

SELECT * FROM tbl WHERE id = 123 OR colname4 = 'x' OR colname8 = 'y' LIMIT 1 

El 'LIMIT' keyword se asegura de que sólo hay una fila devuelta.

+0

Esto me ayudará a seguir adelante, ¡gracias! – aggitan

+0

Sin embargo, "MySQL no admite LIMIT en las subconsultas para ciertos operadores de subconsulta". Consulte [Restricciones en las subconsultas] (https://dev.mysql.com/doc/refman/5.5/en/subquery-restrictions.html). –

3
select * 
from MyTable 
where MyPrimaryKey = 123 
+0

Esto funciona, gracias. – aggitan

0

Las columnas en SQL no tienen un 'orden' definido. Los sistemas de bases de datos generalmente hacen un seguimiento de un pedido para fines de visualización, pero no tiene sentido pedirle a una base de datos que seleccione una columna por número. Necesita saber el nombre de la columna para consultar sus contenidos.

Lo mismo ocurre con la clave principal (que, por cierto, puede no ser una sola columna). Debe saber de qué columna se trata y cómo se llama esa columna para ejecutar una consulta.

Si usted no sabe estas cosas, o necesita calcular fuera de forma dinámica, a continuación,

DESCRIBE tablename; 

le dirá los nombres de cada columna, y si es parte de la clave primaria o no. Devolverá una tabla que puede leer, como cualquier otro resultado.

Cuestiones relacionadas