我对MySQL比较陌生,我想知道是否可以防止没有主键和多对多关系的表pivot / mapping中的重复条目。一个简单的例子:
table 1
table1ID
field
field
table 2
table2ID
field
field
pivot table
table1ID
table2ID
由于多对多关系意味着无法使用[单个]主键,是否有简洁的方法(1-2个查询)以防止添加重复条目(相同的table1ID,table2ID对) ?
编辑:显然,这可以通过SELECT和循环结果完成,但不仅是额外的调用,而且还有一个额外的循环。
答案 0 :(得分:1)
数据透视表应具有两列的主键:
PRIMARY KEY(table1ID, table2ID)
这加快了查找速度并确保了唯一性。您还可以在另一个方向添加UNIQUE键(table2ID,table1ID)