PHP PDO获取auto_increment标志

时间:2013-07-09 08:38:28

标签: php pdo

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

是否有可用的解决方法?

由于

2 个答案:

答案 0 :(得分: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 Tables

答案 1 :(得分:1)

使用PDO的cubrid_schema功能了解表及其列的说明。

OR

您可以使用以下代码:

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

Reference site.