2011-11-25 10 views
5

nie mogę wydawać się znaleźć lub napisać sqlquery że wybiera wartość domyślnaJak wybrać domyślną wartość pola

(i nie sądzę, mogę wygenerować go w phpmyadmin mi skopiować)

starałem się wybrać go tak, jakby był to rekord, ale bezskutecznie ...

$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; 

Odpowiedz

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

Albo myślę lepiej:

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

Update - korekta

Jak wskazano @Jeff Caron, powyższe będzie działać tylko wtedy, gdy istnieje co najmniej 1 wiersz grouptable. Jeśli chcesz uzyskać wynik, nawet jeśli grouptable nie ma wierszy, możesz użyć:

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

Użyłem drugiego. Perfekcyjnie, dzięki. Jedna uwaga jest oczywiście ("grupa") powinna brzmieć ($ group) - wyłącznie w związku z tym, w jaki sposób sformułowałem pytanie - w każdym razie, dziękuję i akceptuję! – Gamemorize

+0

@Adam: masz rację. Jeśli '$ group' jest kolumną, tak. Przez chwilę myślałem, że może to być wartość kolumny, teraz edytowanej. –

+3

To będzie działać tylko wtedy, gdy istnieje co najmniej jeden wynik. O ile mi wiadomo, jedynym sposobem na uzyskanie domyślnej wartości kolumny jest coś takiego: SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA = 'twoja_nazwa_bazy danych' ORAZ TABLE_NAME = 'twoja_nazwa_nazwa' AND COLUMN_NAME = 'twoja_nazwa_kolumny'; –

Powiązane problemy