2011-11-25 17 views
5

io non riesco a trovare o scrivere uno sqlquery che seleziona il valore predefinitoCome selezionare il valore predefinito di un campo

(e non credo che posso generarlo in phpMyAdmin per me per copiare)

ho cercato di selezionare come se si trattasse di un record, ma senza alcun risultato ...

$defaultValue_find = mysql_query(
     "SELECT $group FROM grouptable WHERE $group='DEFAULT'") 
     or die("Query failed:".mysql_error()); 
$defaultValue_fetch = mysql_fetch_row($defaultValue_find); 
$defaultValue = $defaultValue_fetch[0]; 
echo $defaultValue; 

risposta

11
"SELECT $group FROM grouptable WHERE $group=DEFAULT($group) " 

O penso meglio:

"SELECT DEFAULT($group) FROM grouptable LIMIT 1 " 

Update - correzione

Come @Jeff Caron rilevato, quanto sopra funziona solo se v'è almeno 1 riga grouptable. Se vuoi il risultato anche se il grouptable non ha righe, puoi usare questo:

"SELECT DEFAULT($group) 
FROM (SELECT 1) AS dummy 
    LEFT JOIN grouptable 
    ON True 
LIMIT 1 ;" 
+0

Ho usato il secondo. Perfetto grazie. Una nota è, naturalmente, ('gruppo') dovrebbe leggere (gruppo $) - unicamente in relazione al modo in cui ho inquadrato la domanda - comunque, grazie e accettato! – Gamemorize

+0

@Adam: hai ragione. Se '$ gruppo' è una colonna, sì. Ho pensato per un momento che potrebbe essere un valore di una colonna, modificato ora. –

+3

Funziona solo se c'è almeno 1 risultato. Per quanto ne so, l'unico modo per ottenere sempre il valore predefinito di una colonna è con qualcosa di simile: SELEZIONA COLUMN_DEFAULT FROM WHERE INFORMATION_SCHEMA.COLUMNS TABLE_SCHEMA = 'your_database_name' E TABLE_NAME = 'your_table_name' E COLUMN_NAME = 'your_column_name'; –

Problemi correlati