gpt4 book ai didi

python - 如何根据 postgresql 中的列值定义唯一约束?

转载 作者:行者123 更新时间:2023-11-29 14:35:00 25 4
gpt4 key购买 nike

我有一个事务表定义如下:

mtransactions = Table("mtransactions", metadata,
Column("id", Integer, primary_key=True),
Column("type", String, default='Reg'),
Column("cust_id", Integer, ForeignKey("b_customers.id")),
Column("date", Date,
default=datetime.datetime.utcnow().date()),
UniqueConstraint('cust_id','date', name='cust_date_tran'))

只有两种类型的交易。对于 type='1',我希望具有如上所述的唯一约束,即 cust_id、date。但是对于“2”类型的交易,同一日期可以有不止一种类型的交易。我如何定义这样的约束?仅使用 sqlalchemy 核心 1.0.8、python 2.7、postgresql 9.6

最佳答案

你可以拥有functional unique indices :

Index("ix_transaction_type_1", mtransactions.c.cust_id, mtransactions.c.date, postgresql_where=mtransactions.c.type = "1")

关于python - 如何根据 postgresql 中的列值定义唯一约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46148458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com