我可以得到表的列名,但有沒有辦法檢索每列的默認數據值?我可以取回MySQL表中列名的默認值嗎?
下面是我用得到的表列名的:
$q = $dbh->query("DESCRIBE tablename");
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);
print_r($table_fields);
這將打印列名的數組,但我試圖讓每個列名也是默認數據值。
我可以得到表的列名,但有沒有辦法檢索每列的默認數據值?我可以取回MySQL表中列名的默認值嗎?
下面是我用得到的表列名的:
$q = $dbh->query("DESCRIBE tablename");
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);
print_r($table_fields);
這將打印列名的數組,但我試圖讓每個列名也是默認數據值。
試試這個:
$query = "SHOW FULL COLUMNS FROM tableName";
// ...
列Default
。
我希望我幫助。
只需在FETCH_COLUMN後給出索引即可。我沒有嘗試你的代碼,但基於DESCRIBE manual它將返回6個描述列。所以如果你已經閱讀this你可能會得到解決方案。我已經閱讀了他們,我認爲只需在下面的代碼中添加第四個索引就可以解決問題。
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN,4);
這不起作用 – Paul 2013-04-10 02:03:34
另一種選擇是轉到數據字典並找到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;
這可能有助於http://stackoverflow.com/questions/8266771/how-to-select-default-value-of-a-field – jszobody 2013-04-10 01:39:44