2017-08-11 13 views
0

テーブルに質問データが含まれています。また、すべての質問には、テストID、ドキュメントID(dokuman_id)、注文(sira)、およびビデオデータがあります。私は行がない場合は、新しい行を挿入するクエリを作成したい同じテストID、ドキュメントIDと順序があります。それ以外の場合は、ビデオフィールドを更新してください。複数の重複条件で "重複キーを使用する"

enter image description here

私はID(primart_key)列でそれをしたい場合、私はDUPLICATEキーに使用することができます知っています。しかし、私は可能な限り最適な3つの重複カラム条件を制御する必要があります。

+4

にインデックスを作成する必要がありますので、すべての3つのカラム上で混合一意のインデックスを作成しますか...? – CBroe

答えて

1

あなたはtest_id , dokuman_id , sira

INSERT INTO table (test_id , dokuman_id , sira , video) 
VALUES(:test_id , :dokuman_id , :sira , :video) 
ON DUPLICATE KEY UPDATE video = :video 
+0

この前にプライマリキーを削除する必要がありますか? – nskmr

+0

いいえ主キーを削除する必要はありません。別のインデックスを作成するだけです。 – Ali

+0

ありがとうございます。しかし、私は、dbが重複キー**のキーをどのように決定するのか理解できません**。多くのキーが存在する可能性があります – nskmr

関連する問題