2011-11-25 65 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'; –