有没有办法检查列是否已指定为 auto_increment?我知道 mysqli 扩展支持这一点。但是 PDO 的 getColumnMeta() 方法不提供此信息
有没有可用的解决方法?
谢谢
您可以从信息架构中查询它,例如:
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,否则为空。
使用cubrid_schema
PDO 的功能可以了解表及其列的描述。
或者
您可以使用以下代码:
$q = $dbh->prepare("DESC tablename");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);