有没有办法检查列是否已指定为auto_increment? 我知道mysqli扩展支持这一点。 但是,PDO的getColumnMeta()方法不提供此信息
是否有可用的解决方法?
由于
答案 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,否则为空。
答案 1 :(得分:1)
使用PDO的cubrid_schema
功能了解表及其列的说明。
OR
您可以使用以下代码:
$q = $dbh->prepare("DESC tablename");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);