2011-11-25 5 views
5

я не могу найти или написать SQLQuery, выделяющий DEFAULT VALUEКак выбрать значение по умолчанию поля

(и я не думаю, что я могу генерировать его в 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 Caron, выше будет работать только тогда, когда существует по крайней мере одна строка в grouptable. Если вы хотите получить результат, даже если групповая таблица не имеет строк, вы можете использовать это:

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

Я использовал второй. Прекрасное спасибо. Одно замечание, конечно, («группа») должно читать ($ 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'; –

Смежные вопросы