繁体   English   中英

推进-检查列是否为自动增量

[英]Propel - check if column is autoincrement

propel2有没有一种方法可以检查列是否为autoincrement 我的假设是使用类似

$query = new UsersQuery();

$columns = $query->getTableMap()->getColumns();

foreach ($columns as $column) {
    $column->isAutoIncrement(); //method does not exist
}

但是,在对getColumns的结果进行迭代时,不存在实际检查该列是否为autoincrement任何内容。 在这种情况下可以做什么?

默认值AUTO_INCREMENT是特定于驱动程序的。 您不能期望有专用于此的方法。 在MySQL中可能是AUTOINCREMENT ,在PostgreSQL中可能是SEQUENCE ,等等。

我建议做的是找到主键,因为我希望您能搜索此列。

另一个解决方法是从迁移中获取CREATE TABLE代码并手动对其进行解析。 但是,没有内置方法。 即使执行getDefaultValue()您也不会收到AUTO_INCREMENT ,但是该AUTO_INCREMENT NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM