salesman ======== uId
salesGroupLinked ================ uId groupId //add performacesScore field here group ====== groupId
我上面有3个表,这些表形成了多对多关系,我将添加一个 字段“性能”(INT),以便每个业务员在每个 组中都有一个得分。而且我认为它应该位于salesGroupLinked表中。但是由于 uId和groupId为FK,所以我无法插入/编辑数据(我使用的是phpmyadmin)。 我不能使performacesScore字段唯一,因为它们可以是相同的值 ,例如推销员获得10,而另一个获得相同。
我得到了这个味精:
该表不包含唯一列。网格编辑,复选框,编辑,复制 和删除功能不可用。
描述salesGroupLinked
该工具只是告诉您,一个uId-groupId组合可以有多个条目。例子:
uId groupId performacesScore 1 1 10 1 2 20 2 1 30 2 1 30 2 1 40 2 2 20
现在,假设向您显示此数据,您将第一个2/1/30设为2/1/50。 该工具可以将哪些更新语句发送到dbms?
update salesGroupLinked set performacesScore = 50 where uId = 2 and groupId = 1;
This would update three records instead of one.
update salesGroupLinked set performacesScore = 50 where uId = 2 and groupId = 1 and performacesScore = 30;
这仍将更新两个记录,而不是一个。
因此,为了正确更新和删除,必须告诉dbms是什么使 记录唯一。有四种可能性:
如果您希望能够更新,并且uId-groupId组合只有一个条目,则告诉dbms,然后将uId加groupId用作表的主键。
如果您希望能够更新并且uId-groupId组合可以重复,但是uId-groupId-performacesScore组合将始终是唯一的,则将这三个作为表的主键。