SQL列宽从字节到字符


SQL Column width from bytes to characters

我正在尝试计算SQL字段中允许的最大字符数。

例如,我创建了一个这样的表:

CREATE TABLE bla (
  TEST TEXT,
  SHORTER TEXT(30),
  NUMBER INT,
  SHNUMBER INT(30)
)

使用PHP函数mysqli_fetch_fields,如下所示:

$finfo = mysqli_fetch_fields($res);
foreach($finfo as $value) {
    printf("Name:     %s'n", $value->name);
    printf("max. Len: %d'n", $value->length);
    printf("Type:     %d'n'n", $value->type);       
}

我得到以下输出:

Name: TEST  max.Len: 65535  Type: 252 
Name: SHORTER  max.Len: 255  Type: 252 
Name: NUMBER  max.Len: 11  Type: 3 
Name: SHNUMBER  max.Len: 30  Type: 3 

我的问题是:我如何将这个最大长度(表示为字节数)转换回小数、字符。。。?

使用show columns命令检索表中列的信息。请参阅文档页面。