2016-04-07 20 views
-2

私が探していたところでは、どのSQL実装もIS UNIQUE "コマンド"を持っていると聞いたことはありません。私は何か見落としてますか?私が正しいとすれば、理由は何ですか?私はこのようなINSERT INTOように、特定のコマンドことSQL状態できない理由すなわちSQLに「IS UNIQUE」のような条件がありますか?

、(特にこと)値であるか、またはUNIQUE考慮されていない場合にのみ行うことができますか?

+6

これは、SQL INSERTではなく、テーブル自体の列制限で行います。 CREATE TABLEの列定義で使用する適切な構文について、使用している特定のDBMSのドキュメントを確認してください。 –

答えて

1

クエリはキーワード "distinct"を使用してテーブルから一意の項目を選択することができます

SELECT DISTINCT person_name FROM people WHERE age = 4;あなたはまた、INSERTが人々(値...)INTO IGNORE

INSERTを無視し、挿入を行うにはIGNORE検討することができます挿入のために

1

SQlサーバのUnique制約を見てください。これは、テーブルに挿入する際の一意性を考慮しています。 また、値を挿入する前に 'IF NOT EXISTS'を使用して、その列のテーブルに存在するかどうかをチェックすることも、テーブルに挿入する前にwhere句に条件を追加することによっても達成できます。

+2

このポスターがSQL Serverを使用していることを示すものはありません。なぜなら、質問自体に対する私のコメントは、使用しているDBMSのドキュメントを読むことを示唆しています。 –

0

あなたは(UNIQUE INDEXは、table_nameで をINDEX_NAME CREATE によって意味しますかcolumn_name)

関連する問題