2012-10-09 170 views
0

我已經做了一些挖掘工作,找不到根據我的需要防止重複條目的有效方法。我需要列2(proj_id)和列4(dept_id)永遠不會相同,因爲每個部門只能在一個項目上工作一次。因此,不應允許行1和4,6和7,14和15。我會繼續挖掘。防止重複的行值

summary_id proj_id  hours_id dept_id  date_entered 
1 8 3 6 9/9/2012 
2 2 2 6 9/9/2012 
3 1 6 19 9/9/2012 
4 8 3 6 9/9/2012 
5 2 5 17 9/9/2012 
6 7 2 5 9/9/2012 
7 7 2 5 9/9/2012 
8 2 5 17 9/9/2012 
9 7 4 17 10/10/2012 
10 3 6 1 10/10/2012 
11 5 1 15 10/10/2012 
12 4 4 3 10/10/2012 
13 3 5 1 10/10/2012 
14 8 2 13 10/10/2012 
15 8 2 13 10/10/2012 
+0

您需要兩列上的唯一索引,請參閱此問題:http://stackoverflow.com/questions/635937/how-do-i-specify-unique-constraint-for-multiple-columns-in-mysql – George

+0

您可以指定一對兩個屬性,即在您的案例中作爲「KEY」(唯一)的列 – Havelock

+0

感謝大家的反饋!我喜歡這個論壇,非常有幫助! – Mike

回答

1

之前應用獨特結合關鍵是你的表,你必須先刪除重複的記錄再申請以下SQL命令:

ALTER TABLE your_table_name ADD UNIQUE(proj_iddept_id);

+0

正是我需要的,謝謝!我必須首先清理一些東西,但這確實是它。 :) – Mike

1

在兩列

ALTER TABLE `your_table` ADD UNIQUE (`proj_id`, `dept_id`); 
0

看起來你是新的PHP和MySQL定義一個唯一的密鑰。所以這是最簡單的方法。

  1. 登錄到phpMyAdmin
  2. 選擇您的數據庫和表格。
  3. 查看它的結構(單擊屏幕頂部的按鈕)。
  4. 使用左側的複選框檢查兩個字段(proj_id和dept_id)。
  5. 在表格底部,您應該看到「With selected」字樣,並在其前面有一些動作。選擇製作「主要」的選項。

當然,如果您有重複的條目,請先刪除它們。