2017-09-25 21 views
-1

我有LAMP服務器託管我公司的本地網站,我需要每月輸入數據。如何防止在月份相同的情況下輸入兩個相同的值?

這些數據來自電錶,它們測量每個辦公室的能耗。我需要每個月插入一組獨特的數據,而不是在同一個月重複。我怎樣才能做到這一點?

+0

肯定。首先考慮在數據庫的字段上設置唯一的約束。可能是一個複合主鍵。雖然這個要求聽起來很可疑。當然,如果辦公室關閉了一段時間,並且使用零功率,理論上這個月晚些時候重複的(相同的計量值,我假設你的意思是?或者你的意思是一天不發送兩個讀數?或者是其他東西? – 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

謝謝,這可能是最適合我的方式! –

相關問題