改了SqlSrv驱动可以自动获取主键,不知道对不对

浏览:420 发布日期:2015/12/01 分类:技术分享 关键字: SqlSrv
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;
    }
我改了下,不知道对不对,有没有什么后果!我目前表少,用的是正常了,还请指正
最佳答案
评论( 相关
后面还有条评论,点击查看>>