2017-09-10 15 views
0

データを複数回挿入することができない列にデータを挿入したいのですが!同じタイプ/カテゴリーのデータは同じではありません! 私はより簡単/最良の方法は、ユニーク/プライマリキーとして属性を定義することを使用することを知っている...しかし、これを行うための他の方法があります!SQLでユニーク/プライマリキーキーワードを使用せずにテーブルにデータを一意に挿入する方法はありますか?他の方法はありますか?

+0

挿入する前にデータを確認する必要があります –

+0

少なくとも良い方法はありません。 – jarlh

+0

あなたは、列のすべてのデータで毎回チェックするという意味ですか? –

答えて

1

データを挿入する前に、group by句、またはdistinctまたはjoinを使用してチェックすることができます。それは本当にあなたの要件に依存します。データはDISTINCTを使用して、完全に同一である場合

は例えば、十分です:直接

INSERT INTO <YourTable> 
SELECT DISTINCT ... 
FROM ... 

またはデータがテーブルに存在するかどうかを確認:

INSET INTO <YourTable> 
SELECT .... 
FROM Table s 
WHERE NOT EXISTS(SELECT 1 FROM YourTable t 
       WHERE t.type = s.type and t.category = s.category) 

などなど...

+0

うん、それは十分な解決策です:)ありがとう! –

+0

しかし、あなたはまだいくつかのINSERTをして、重複したデータを得ることができます... – jarlh

+0

これは私が要求した理由によるものです..すべてのケースは違った@jarlhを扱わなければなりません。 – sagi

関連する問題