SQL - 如何防止特定条件下的重复?
一般来说,我们可以使用唯一键或主键来防止这种情况,但就我而言。我正在创建一个像这样的 MyFavorite 表:
--------------------------------------------------------- | UserName | FavoriteLink | --------------------------------------------------------- | Ryan | http://www.google.com | --------------------------------------------------------- | Ryan | http://www.yahoo.com | --------------------------------------------------------- | Joyce | http://www.google.com | --------------------------------------------------------- | Joyce | http://www.cnn.com | ---------------------------------------------------------
因此,每个用户可以有很多 favoritelink,但他们不应该有重复的 favoritelink,例如,Ryan 不应该有两个 http://www.google.com。但对于此表,FavoriteLink 字段可能是重复的,因为 Ryan 和 Joyce 都有 http://www.google 的 favoritelink .com。
问题是:如何将数据插入到该表中,而不需要为特定的人重复FavoriteLink?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
复合键。
或者
取决于您到底想要什么。
Composite keys.
or
depending on what exactly it is you want.
您可以添加复合唯一索引。
You can add a composite unique index.