public function getFields($tableName)
{
$this->initConnect(true);
list($tableName) = explode(' ', $tableName);
$sql = "SELECT column_name, data_type, column_default, is_nullable\n FROM information_schema.tables AS t\n JOIN information_schema.columns AS c\n ON t.table_catalog = c.table_catalog\n AND t.table_schema = c.table_schema\n AND t.table_name = c.table_name\n WHERE t.table_name = '{$tableName}'";
// 调试开始
$this->debug(true);
$pdo = $this->linkID->query($sql);
// 调试结束
$this->debug(false, $sql);
$result = $pdo->fetchAll(PDO::FETCH_ASSOC);
$info = [];
if ($result) {
foreach ($result as $key => $val) {
$val = array_change_key_case($val);
$info[$val['column_name']] = ['name' => $val['column_name'], 'type' => $val['data_type'], 'notnull' => (bool) ('' === $val['is_nullable']), 'default' => $val['column_default'], 'primary' => false, 'autoinc' => false];
}
}
$sql = "SELECT column_name FROM information_schema.key_column_usage WHERE table_name='{$tableName}'";
// 调试开始
$this->debug(true);
$pdo = $this->linkID->query($sql);
// 调试结束
$this->debug(false, $sql);
$result = $pdo->fetch(PDO::FETCH_ASSOC);
if ($result) {
$info[$result['column_name']]['primary'] = true;
}
return $this->fieldCase($info);
}