2013-04-10 73 views
4

我可以得到表的列名,但有沒有辦法檢索每列的默認數據值?我可以取回MySQL表中列名的默認值嗎?

下面是我用得到的表列名的:

$q = $dbh->query("DESCRIBE tablename"); 
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN); 

print_r($table_fields); 

這將打印列名的數組,但我試圖讓每個列名也是默認數據值。

+0

這可能有助於http://stackoverflow.com/questions/8266771/how-to-select-default-value-of-a-field – jszobody 2013-04-10 01:39:44

回答

4

試試這個:

$query = "SHOW FULL COLUMNS FROM tableName"; 
// ... 

Default

我希望我幫助。

-1

只需在FETCH_COLUMN後給出索引即可。我沒有嘗試你的代碼,但基於DESCRIBE manual它將返回6個描述列。所以如果你已經閱讀this你可能會得到解決方案。我已經閱讀了他們,我認爲只需在下面的代碼中添加第四個索引就可以解決問題。

$table_fields = $q->fetchAll(PDO::FETCH_COLUMN,4); 
+0

這不起作用 – Paul 2013-04-10 02:03:34

4

另一種選擇是轉到數據字典並找到Information_Schema.Columns中的值。這使您可以將結果限制爲單個列。

$query = <<< endsql 
SELECT Column_Default 
    FROM Information_Schema.Columns 
    WHERE Table_Schema = '$yourSchema' 
    AND Table_Name = '$yourTableName' 
    AND Column_Name = '$yourColumnName' 
endsql; 
相關問題