sqlalchemy中对多个列的唯一约束

sqlalchemy中对多个列的唯一约束,sqlalchemy,Sqlalchemy,我想在表上设置一个约束,以限制表中值的输入。 我想确保任何值的组合只能在一次中 即(1,2)和(2,1)不能在同一个表中 例如,我有一个包含两列(c1和c2)的表: 必须遵守以下规定 C1 C2 1 2 OK 2 1 NOT OK 3 1 OK 1 2 NOT OK 1 4 OK 1 3

我想在表上设置一个约束,以限制表中值的输入。 我想确保任何值的组合只能在一次中

即(1,2)和(2,1)不能在同一个表中

例如,我有一个包含两列(c1和c2)的表:
必须遵守以下规定

C1        C2
 1         2         OK 
 2         1         NOT OK
 3         1         OK
 1         2         NOT OK
 1         4         OK
 1         3         NOT OK
在炼金术中有没有办法做到这一点

我使用了UNIQUE(c1,c2),但这只是说(1,2)和(1,2)不能在同一个表中,但正如前面提到的,我还想包括(2,1)也不能在表中


谢谢

最简单的解决方案可能是为
c1
添加检查约束(或者
c1您可以添加强制执行
c1的检查约束)