Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何在 MySQL 中创建唯一的组合约束/索引?我不是指置换。顺序无关紧要。
例如:我有两个用户,我想用一个链接表进行匹配。该表只有两列,它们都是外键,对应于用户表上的主键。
如何创建一个索引以确保该对在任一顺序中都保持唯一?
据我了解你的问题。您想添加合并两列的唯一约束。所以试试
ALTER TABLE `tableName` ADD UNIQUE ( `first_column` , `second_column` );
在您的应用程序中强制 col1 < col2 - 这提供了一致的顺序并确保只会生成单个链接行。这与您的先决条件(“以任一顺序”)不符,但听起来它应该适合您的情况。在项目需求更改为非对称用户关系(例如 Twitter)之前,我遇到过类似的问题。