SQL-确保一列在多行中是唯一的



我在MySQL中有一个表,它代表一个用户,应该能够将最多三个电话号码添加到他的帐户中。因此,当然没有电话号码,已经存在的应该能够再次注册。我使这三列都是唯一的,但问题是,你仍然可以输入数字2,其他人输入的数字是他的第一个数字。因此,我想知道,是否有SQL的可能性来确保一行与其他行也是唯一的,或者我需要通过查询来解决这个问题,如果已经有一个成员以编程方式使用了这个数字。

第2号567
MemberID 主要编号第3号
1 123 456 789
2 456 123

因此,Strawberry认为最好的解决方案是规范化表。由于每个成员都是1到n个数字,因此这些数字应该是自己的实体。

最终的解决方案是从成员表中删除数字字段,并创建一个新表,如下所示:

编号
Member_Id(外键( 优先级
1 1 234

最新更新