php - 有没有办法防止表透视/映射中出现重复条目​​?

标签 php mysql

我对 MySQL 比较陌生,我想知道是否可以防止没有主键和多对多关系的表透视/映射中出现重复条目​​。一个简单的例子:

table 1
table1ID
field
field

table 2
table2ID
field
field

pivot table
table1ID
table2ID

由于多对多关系意味着无法使用[单个]主键,因此是否有一种简洁的方法(1-2个查询)来防止添加重复条目(相同的table1ID,table2ID对) ?

编辑:显然,这可以通过 SELECT 和循环结果来完成,但这不仅是一个额外的调用,而且还有一个额外的循环。

最佳答案

数据透视表应该有两列的主键:

PRIMARY KEY(table1ID, table2ID)

这可以加快查找速度并确保唯一性。您还可以在另一个方向添加 UNIQUE 键(table2ID、table1ID)

关于php - 有没有办法防止表透视/映射中出现重复条目​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/948511/

相关文章:

php - CakePHP : site not opening on webserver MIGRATION issue works fine on localhost

php - 提供的参数无效 Codeigniter

处理负数时mysql语法错误

php - 如何有效地找到给定位置附近最近的位置

添加触发器时MySQL工作台错误1064

android - 如何解决错误:任务应用程序preDexDebug的执行失败,退出值非零1

javascript - Jquery/Php 聊天脚本和我有一些问题

Javascript:将值放入两个单独的表单字段中

php - 在php/mysql中生成随机字符串

python - 使用 MySQLDb 处理错误的日期值