我正在使用 Sqlalchemy 的核心,因此我没有像其他类似问题一样使用声明性基类。 如何使用引擎获取表的主键?
最佳答案
我想发表评论,但我没有足够的声誉。
构建于 greenbergé答案:
from sqlalchemy import create_engine, Table, MetaData
dbUrl = 'postgres://localhost:5432/databaseName' #will be different for different db's
engine = create_engine(dbUrl)
meta = MetaData()
table = Table('tableName', meta, autoload=True, autoload_with=engine)
[0] 并不总是 PK,仅当 PK 只有一列时才如此。 table.primary_key.columns.values() 是一个列表。 为了获取多列 pk 的所有列,您可以使用:
primaryKeyColNames = [pk_column.name for pk_column in table.primary_key.columns.values()]
关于python - 从 sqlalchemy 中的表获取主键列名称(核心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44089396/