2012-10-09 218 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”字样,并在其前面有一些动作。选择制作“主要”的选项。

当然,如果您有重复的条目,请先删除它们。