1

有没有办法检查列是否已指定为 auto_increment?我知道 mysqli 扩展支持这一点。但是 PDO 的 getColumnMeta() 方法不提供此信息

有没有可用的解决方法?

谢谢

4

2 回答 2

1

您可以从信息架构中查询它,例如:

SELECT 
  EXTRA 
FROM 
  information_schema.columns 
WHERE 
  table_name = 'your_table_name' AND COLUMN_NAME = 'your_primary_key' 
  AND table_schema = DATABASE();

你会得到auto_increment.

Extra 字段包含有关给定列的任何其他可用信息。对于具有 AUTO_INCREMENT 属性的列,该值为 auto_increment,否则为空。

INFORMATION_SCHEMA 表

于 2013-07-09T08:48:09.980 回答
1

使用cubrid_schemaPDO 的功能可以了解表及其列的描述。

或者

您可以使用以下代码:

$q = $dbh->prepare("DESC tablename");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);

参考站点。

于 2013-07-09T08:50:37.347 回答