2011-11-25 62 views
5

默認值,我似乎無法找到或編寫選擇默認值如何選擇現場

SQLQuery對(我不認爲我能在phpMyAdmin生成它,我複製)

我試圖選擇它,如果它是一個記錄,但無濟於事...

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

回答

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

或者我覺得更好:

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

更新 - 修正

由於@Jeff卡隆指出,上述將只有當至少有1行中grouptable工作。如果你想得到的結果,即使該組表沒有行,你可以使用這個結果:

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

我用第二個。很好,謝謝。當然,有一點值得注意('group')應該閱讀($ group) - 完全與我構思問題的方式有關 - 無論如何,謝謝並接受! – Gamemorize

+0

@亞當:你說得對。如果'$ group'是一列,是的。我想了一下,它可能是一個專欄的價值,現在編輯。 –

+3

這隻有在至少有1個結果時纔有效。據我所知,總是得到列的默認值的唯一方法是用類似的東西: SELECT COLUMN_DEFAULT FROM information_schema.columns WHERE TABLE_SCHEMA ='your_database_name'AND TABLE_NAME ='your_table_name'AND COLUMN_NAME ='your_column_name'; –