我可以得到表的列名,但有没有办法检索每列的默认数据值?我可以取回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