2017-09-25 24 views
-1

私は毎月データを入力する必要がある私の会社のローカルウェブサイトをホストしているLAMPサーバーを持っています。月が同じ場合、2つの同じ値を入力しないようにするにはどうすればよいですか?

データは、個々のオフィスでのエネルギー消費を測定している電力メーターの値です。毎月ユニークなデータセットを挿入する必要があります。同じ月に重複はありません。どうやってやるの?

+0

はい。まず、データベースのフィールドに固有の制約を設定します。おそらく複合主キーです。要件は私には疑わしいですが。確かに事務所がしばらく閉まっていてゼロ電力を使用していた場合、重複した(同じメートル値、私はあなたが意味すると思いますか?)その月の後半は理論上大丈夫でしょうか?それとも、1日に2回の読書をしないという意味ですか?または、他の何か? – ADyson

+0

可能な複製https://stackoverflow.com/questions/635937/how-do-i-specify-unique-constraint-for-multiple-columns-in-mysql –

答えて

0

私は例えば、日付のYYYY-mm一部の計算列を作成し、その上に一意のインデックスを追加します。:

ALTER TABLE <your_table> ADD yyyymm as DATE_FORMAT(date, '%Y-%m'); 
CREATE UNIQUE INDEX idx_yourtable_office_id ON your_table(office_id, yyyymm); 
0

データがデータベースでソートされている場合は、最後の項目を選択して、入力したデータと比較しなければなりません。そうでなければ、日付が間違っているというメッセージを表示します。

+0

これはおそらく私のための最良の方法です! –

関連する問題