如何获取php中指定列的实际最大长度?
例如,这个表:
id - int(11) name - string(20)
我希望在php中选择字段可以拥有的最大字符数,例如 从table1中选择长度(名称)
然后它应该返回20(因为它是该字段的最大字符数)。答案 0 :(得分:7)
您应该使用mysql_field_len
答案 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_fields 或 PDOStatement::getColumnMeta,它们返回完整的详细描述,包括表名、字段名、类型、长度等。