我有一个非常简单的问题和一个可行的解决方案,但我正在寻找一个更简单的问题.
当多个值等于现有值时,我想阻止将行添加到数据库中.例如,如果a2 = a1 AND b2 = b1,则数据被拒绝.如果只允许a2 = a1或仅b2 = b1.基本上我希望它像一个主键,需要两个值匹配.
我知道在写入数据库之前我可以通过验证来做到这一点 – 例如.选择*其中a =’a2’和b =’b2’然后在我得到结果时避免写新数据.我宁愿做的是启用MySQL设置,比如主键,它会自动阻止这样的数据.
最佳答案
为要使其唯一的列创建唯一索引.
例如:
CREATE UNIQUE INDEX index_name ON table(col1,col2);