【发布时间】:2010-09-10 18:30:26
【问题描述】:
我已经阅读了许多关于常见的一对多/用户对朋友场景的数据库表设计的帖子。一篇文章包括以下内容:
用户
* user_id (primary key) * username朋友
* user_id (primary key, foreign key to USERS(user_id)) * friend_id (primary key, foreign key to USERS(user_id))> 这将停止重复(IE:1、2) 从发生,但不会停止 反转,因为 (2, 1) 是有效的。 你需要一个触发器来强制执行 只有一个实例 关系...
粗体部分促使我提出我的问题:SQL Server 和 MySQL 如何处理这些类型的复合键有区别吗?两者都需要海报提到的这个触发器,以确保唯一性吗?
我问,因为到目前为止,我一直在 SQL Server 中使用类似的表结构,但没有任何此类触发器。我只是幸运地没有遇到这条潜伏在草丛中的数据复制蛇吗?
【问题讨论】:
-
可能是我见过的最好的用户名...
-
谢谢。我非常认真地对待自己......
标签: mysql sql-server database-design