MySQL在php中选择列长度

时间:2010-06-12 12:45:33

标签: php mysql

如何获取php中指定列的实际最大长度?

例如,这个表:

id - int(11) name - string(20)

我希望在php中选择字段可以拥有的最大字符数,例如 从table1中选择长度(名称)

然后它应该返回20(因为它是该字段的最大字符数)。

4 个答案:

答案 0 :(得分:7)

答案 1 :(得分:2)

您可以将mysql_field_len用于单个列,或使用MySQL中的SHOW COLUMNS FROM table查询一次获取有关所有列的信息。

答案 2 :(得分:2)

使用mysql_field_len读取非int或字符串的列时要小心。例如,decimal(6,4)将从mysql_field_len返回10。

如果您需要所有列信息,您可能希望使用SHOW COLUMNS并解析数据。

答案 3 :(得分:0)

请记住,mysql_field_len 已在 PHP 7.0.0 中删除。一个很好的解决方案是使用 mysql_fetch_lengths 来获取结果中包含所有字段长度的数组。还有其他调用,例如 mysqli_fetch_fieldsPDOStatement::getColumnMeta,它们返回完整的详细描述,包括表名、字段名、类型、长度等。