如何对 SQLAlchemy 中的整个列强制执行唯一性约束?

Posted

技术标签:

【中文标题】如何对 SQLAlchemy 中的整个列强制执行唯一性约束?【英文标题】:How to enforce uniqueness constraint on a whole column in SQLAlchemy? 【发布时间】:2016-11-07 18:34:55 【问题描述】:

我有以下 mysql 类。

class MyClassA(db.Model):
    b = db.Column(db.String(12))
    c = db.Column(db.String(12))

我想确保b 的值在整个列中是唯一的。如何更改此声明以强制执行该约束?

【问题讨论】:

【参考方案1】:

好吧,你可以像flask sql alchemy的文档一样使用标志“unique=True”:

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), **unique=True**)
    email = Column(String(120), unique=True)

Flask SQL Alchemy

希望对你有帮助

【讨论】:

以上是关于如何对 SQLAlchemy 中的整个列强制执行唯一性约束?的主要内容,如果未能解决你的问题,请参考以下文章

SQLAlchemy JSON 列 - 如何执行包含查询

从一个表复制到另一个表,如何对整个数据集而不是单独的行强制执行外键检查?

如何在 Flask-SQLAlchemy 中对相关表的列求和

SQLAlchemy docs(设置列默认值) - 这行语法有效的python如何? [关闭]

SQLAlchemy - 不要对关系强制外键约束

使用 SQLAlchemy 关联代理强制唯一性