sqlalchemy中对多个列的唯一约束
我想在表上设置一个约束,以限制表中值的输入。 我想确保任何值的组合只能在一次中 即(1,2)和(2,1)不能在同一个表中 例如,我有一个包含两列(c1和c2)的表: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
必须遵守以下规定
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的检查约束)