Postgresql 使用MD5在Postgres上使用SQLAlchemy创建唯一索引
我有一个可以包含长文本的列,我想在该列上创建一个唯一的索引 例如,我在几个地方读到过这样的文章:方法是在列的MD5上创建一个索引 我尝试添加以下代码:Postgresql 使用MD5在Postgres上使用SQLAlchemy创建唯一索引,postgresql,sqlalchemy,unique-constraint,unique-index,Postgresql,Sqlalchemy,Unique Constraint,Unique Index,我有一个可以包含长文本的列,我想在该列上创建一个唯一的索引 例如,我在几个地方读到过这样的文章:方法是在列的MD5上创建一个索引 我尝试添加以下代码: __table_args__ = ( sa.Index('unique_data_hash', 'MD5(data)', unique=True) ) 但当我尝试使用它时,我得到了 KeyError:“MD5data” 我如何使用SQLAlchemy添加这样的索引?在另一次搜索之后,我意识到答案是使用sa.func.md
__table_args__ = (
sa.Index('unique_data_hash', 'MD5(data)', unique=True)
)
但当我尝试使用它时,我得到了
KeyError:“MD5data”
我如何使用SQLAlchemy添加这样的索引?在另一次搜索之后,我意识到答案是使用sa.func.md5,这非常有用 在另一次搜索之后,我意识到答案是使用sa.func.md5,这就像一个符咒 您能使用任何其他哈希函数吗?MD5没有哈希冲突的最佳跟踪记录@aviad Nissel您是否能够使用任何其他哈希函数?MD5没有哈希冲突的最佳跟踪记录@阿维德·尼塞尔