いくつかのオンラインチュートリアルに従うことで、システムイベントを追跡するデータベースを設計し始めました。簡単な例は、自動インクリメントIDを主キーとして割り当てることから始まります。私は自分のデータベースを見ましたが、本当にIDは必要ありません。すべての列のうち、タイムスタンプとデバイスIDは、一意のイベントを識別する2つの列です。レコードを主キーとして一意に識別する2つの列を使用する必要がありますか?
今の私のプログラムは、過去数分間にいくつかのイベントをシステムログから取得し、これらのイベントをデータベースに挿入することです。しかし、私は過去にあまりにも多くのイベントがデータベース内のものと重複している可能性があります。前述したように、タイムスタンプとデバイスIDは、イベントを一意に識別する2つのフィールドです。私の質問は、私は私のプライマリキーとしてこれらの2つのフィールドを使用し、今から "Insert ignore
"を使用する必要がありますので、私は重複レコードを避けることができますか?
[ここ](http://dba.stackexchange.com/questions/57548/how-to-set-up-multiple-fields-as-primary-key-in-mysql)これを行う方法は、あなたのコンポジットプライマリキーに何か間違ったことはありません。 –