如何获取数据库列的长度?

时间:2013-06-08 17:26:51

标签: mysql database

我在PHP中使用PDO访问MySQL数据库。假设我有一个包含CHAR(30)或INT(5)类型的列的表:

  1. 有一种方法可以使用PDO从PHP脚本获取列长度(值305),这不是特定于数据库的吗?
  2. 如果没有,还是可以使用PDO获得该值吗?
  3. 如果没有,有一种方法可以使用PHP获得该值吗?

1 个答案:

答案 0 :(得分:1)

此信息应在information_schema.columns表中提供:

SELECT CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE FROM information_schema.columns WHERE TABLE_NAME = 'your_table_name'

字符串长度(CHARACTER_MAXIMUM_LENGTH)和数字长度(NUMERIC_PRECISION)有不同的列。

<强>更新

要解决MySQL的限制/错误,其中长度并不总是正确报告,可能需要解析定义本身并在括号内提取数字。