public function getFields($tableName) {
list($tableName) = explode(' ', $tableName);
$result = $this->query("SELECT c.column_name, data_type, column_default, is_nullable,p.COLUMN_NAME as pri
FROM information_schema.tables AS t
JOIN information_schema.columns AS c
ON t.table_catalog = c.table_catalog
AND t.table_schema = c.table_schema
AND t.table_name = c.table_name
Left Join information_schema.key_column_usage as p
ON t.table_schema = p.table_schema
AND t.table_name = p.table_name
AND p.COLUMN_NAME = c.COLUMN_NAME
WHERE t.table_name = '$tableName'");
$info = array();
if($result) {
foreach ($result as $key => $val) {
$info[$val['column_name']] = array(
'name' => $val['column_name'],
'type' => $val['data_type'],
'notnull' => (bool) ($val['is_nullable'] === ''), // not null is empty, null is yes
'default' => $val['column_default'],
'primary' => (!empty($val['pri'])),
'autoinc' => false,
);
}
}
return $info;
}
我改了下,不知道对不对,有没有什么后果!我目前表少,用的是正常了,还请指正 最佳答案
