2009-09-11 17 views
7

Sto usando MySQL, ho una tabella che ha 9 colonne. Uno di questi è la chiave primaria.Selezionare una singola riga in MySQL

Come posso selezionare una riga singola, dalla chiave primaria o dalla colonna 8 o 4?

+0

selezionare una riga singola: 'selezionare * dal limite del proprio limite 1;' –

risposta

18

Se ho capito la sua domanda:

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

Il 'LIMIT' keyword fa che ci sia una sola riga restituita.

+0

Questo mi aiuterà ulteriormente in fondo alla strada, grazie! – aggitan

+0

Tuttavia, "MySQL non supporta LIMIT in sottoquery per determinati operatori di subquery". Si prega di consultare [Restrizioni su sottoquery] (https://dev.mysql.com/doc/refman/5.5/en/subquery-restrictions.html). –

3
select * 
from MyTable 
where MyPrimaryKey = 123 
+0

Questo funziona, grazie. – aggitan

0

Le colonne in SQL non hanno un 'ordine' definito. I sistemi di database generalmente tengono traccia di un ordine per scopi di visualizzazione, ma non ha senso chiedere a un database di selezionare una colonna per numero. È necessario conoscere il nome della colonna per interrogarne il contenuto.

La stessa cosa vale per la chiave primaria (che, per inciso, potrebbe non essere solo una singola colonna). Devi sapere quale colonna è, e quale colonna è chiamata, per eseguire una query.

Se non sai queste cose, o hai bisogno di capire fuori in modo dinamico, quindi

DESCRIBE tablename; 

vi dirà i nomi di ogni colonna, e se è parte della chiave primaria oppure no. Restituirà una tabella che puoi leggere, come qualsiasi altro risultato.

Problemi correlati