我有一个非常简单的问题和一个可行的解决方案,但我正在寻找一个更简单的问题.
当多个值等于现有值时,我想阻止将行添加到数据库中.例如,如果a2 = a1 AND b2 = b1,则数据被拒绝.如果只允许a2 = a1或仅b2 = b1.基本上我希望它像一个主键,需要两个值匹配.
我知道在写入数据库之前我可以通过验证来做到这一点 - 例如.选择*其中a ='a2'和b ='b2'然后在我得到结果时避免写新数据.我宁愿做的是启用MySQL设置,比如主键,它会自动阻止这样的数据.
除了基本功能之外,我对MySQL不是很熟悉,所以如果这很容易就道歉了.谷歌搜索独特的索引和主键周围的各种事情没有帮助.
为要使其唯一的列创建唯一索引.
例如:
CREATE UNIQUE INDEX index_name ON table(col1, col2);
请参阅MySQL Create索引手册.