gpt4 book ai didi

python - sqlalchemy,使用检查约束

转载 作者:太空狗 更新时间:2023-10-29 21:49:17 25 4
gpt4 key购买 nike

我刚开始使用 sqlalchemy,我想在我的一个专栏上设置一个检查约束。我有一个名为 startTimeendTime 的列,我想确保 endTime > startTime

from sqlalchemy import Column, Integer, String, ForeignKey, Date
import models.Base

class Session(Base):
__tablename__ = 'sessions'

sid = Column(Integer, primary_key=True)
uid = Column(Integer, ForeignKey('users.uid'), nullable=False)
startTime= Column(Date, nullable=False)

#probably won't work
endTime = Column(Date, CheckConstraint('endTime > startTime'), nullable=False)

最佳答案

除了 MySQL 不支持检查约束之外,我认为问题在于您试图在列级检查约束中引用多个列。

假设您使用了另一个数据库,您需要在表级别定义约束,如下所示:

from sqlalchemy import Column, Integer, String, ForeignKey, Date, CheckConstraint
import models.Base

class Session(Base):
__tablename__ = 'sessions'
__table_args__ = (
CheckConstraint('endTime > startTime'),
)

sid = Column(Integer, primary_key=True)
uid = Column(Integer, ForeignKey('users.uid'), nullable=False)
startTime= Column(Date, nullable=False)

endTime = Column(Date, nullable=False)

关于python - sqlalchemy,使用检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616548/

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