我正在使用一个查询("SHOW COLUMNS FROM XYZ_table").它显示如下
Array ( [Field] => policyID [Type] => int(10) [Null] => YES [Key] => [Default] => [Extra] => ).
我只关心它的类型。如何忽略其他不相关的数据?
这里有一个代码:
/*$i具有此数组的大小“$tb_names”*/

 while ($i!=0){
                $result = mysql_query("SHOW COLUMNS FROM $tb_names[$j] ");
        if (!$result) {
            echo 'Could not run query: ' . mysql_error();
        exit;
        }
        if (mysql_num_rows($result) > 0) {
            while ($row = mysql_fetch_assoc($result)) {
            $var = print_r($row,true);
            echo $var."<br>";

        }
    }
            $i--;
            $j++;


    }

最佳答案

嗨,你可以试试这个query

SELECT column_name,character_maximum_length , data_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA =  'databasename'
AND TABLE_NAME =  'tablename';

对于特定列
SELECT column_name, character_maximum_length, data_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA =  'databasename'
AND TABLE_NAME =  'tablename'
AND column_name =  'columnname';

没有数据库名
SELECT column_name , data_type ,character_maximum_length FROM information_schema.columns
WHERE table_name = 'tablename';

对于int长度,请使用NUMERIC_PRECISION
SELECT column_name , data_type ,NUMERIC_PRECISION FROM information_schema.columns
    WHERE table_name = 'tablename';

10-06 10:11
查看更多