salesman
========
uId
salesGroupLinked
================
uId
groupId
//add performacesScore field here
group
======
groupId
我上面有3个表,形成了多对多关系,我会添加一个字段'performaces'(INT),这样每个销售人员都可以在每个组中得分。我相信它应该位于salesGroupLinked表。但由于uId和groupId是FK,我无法插入/编辑数据(我使用的是phpmyadmin)。我不能使performacesScore字段唯一,因为它们可以是相同的值,例如,销售员获得10而另一个获得相同。
我收到了这个消息:
此表不包含唯一列。网格编辑,复选框, 编辑,复制和删除功能不可用。
描述salesGroupLinked
答案 0 :(得分:0)
该工具只是告诉您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;
这将更新三个记录而不是一个。
update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1 and performacesScore = 30;
这仍然会更新两个记录而不是一个。
因此,为了正确更新和删除,您必须告诉dbms使记录唯一的原因。有四种可能性: