【发布时间】:2019-12-28 10:56:45
【问题描述】:
不确定在哪里发布这个问题。是否有必要使唯一索引列不可为空,像这样(使用 SQLAlchemy):
name = db.Column(db.String(64), index=True, unique=True, nullable=False) # <--
或者它可能是多余的并且该列无论如何不能为 NULL?唯一列可以为 NULL 吗?
【问题讨论】:
-
这取决于数据库。例如,在 MySQL 中,您需要设置
nullable=Falsestackoverflow.com/questions/3712222/…。就 SQLA 本身而言,我不确定它是否具有标准化行为或仅依赖于底层库 -
在许多同时具有
index=True和unique=True的DBMS 中是多余的,因为使用唯一索引强制执行唯一约束。
标签: python sql sqlalchemy flask-sqlalchemy