我可以在MySQL表中找回列名的默认值吗?

时间:2013-04-10 01:31:46

标签: php mysql pdo

我可以获取表的列名,但有没有办法检索每列的默认数据值?

以下是我用来获取表列名称的内容:

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

print_r($table_fields);

这会打印一个列名称数组,但我也试图获取每个列名的默认数据值。

3 个答案:

答案 0 :(得分:7)

另一种选择是转到数据字典并在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;

答案 1 :(得分:5)

试试这个:

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

专栏Default

我希望我能帮忙。

答案 2 :(得分:-1)

在FETCH_COLUMN之后给出一个索引。我没有尝试您的代码,但基于DESCRIBE manual,它将返回6个描述列。因此,如果您已阅读this,您可能会得到解决方案。我已经阅读了它们,我认为只需在代码中添加第4个索引,就像下面的代码一样。

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