1

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

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

1 回答 1

2

此信息应在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 的限制/错误,其中长度并不总是正确报告,可能需要解析定义本身并提取括号内的数字。

于 2013-06-08T18:10:43.500 回答