2017-05-22 12 views
1

私はsqlalchemyを使用し始めました。そのため、以下の質問が意味をなさないかもしれません。私はテーブルcolAとcolBに2つの列を持っています。 colAとcolBの要素を両方の列で一意にしたいと考えています。例えば 2つの列にわたるMysql固有の制約

 ColA ColB 
row1 1  2 
row2 3  2 X(2 is already present in row1 ColB, therefore is a duplicate) 
row3 4  1 X(1 is already present in row1 ColA, therefore is a duplicate) 

は、次いで上記の例ではROW2及びROW3は許されない必要があり、場合。どのようにsqlalchemyでこれを行うのですか?私はすでにこれについて研究し、他の同様の質問を見たが、まだ適切な答えを見つけていない。

+0

ソートされた順序で2つの列を結合し、その列に一意のキーを配置する計算列を使用する必要があります。 –

+0

なぜ重複した '1,2 '項目が許可されないのかは明らかです。しかし、あなたの質問から、なぜアイテム「3、1 X」が重複とみなされるのかは明らかではありません。それについて具体的に質問してください。 –

+0

混乱して申し訳ありませんが、今はより意味をなさないことを願っています。 – smriti

答えて

0

DBMSを使用して、2列のユニークなインデックスを作成します。

ALTER TABLE mytable ADD UNIQUE INDEX myindex (colA, colB); 

私があなたの質問を正しく理解していれば、これはあなたの望むようにあなたのテーブルを制約します。

関連する問題