我有一个MySQL数据库表,其中有两列令我感兴趣。它们各自可以分别具有重复项,但是它们绝不能具有相同的值。
stone_id只要每个upsharge标题不同,就可以重复,反之亦然。但是例如说stone_id= 412和upcharge_title=“蓝宝石”,则该组合仅应发生一次。
stone_id
upsharge
upcharge_title
还行吧:
stone_id = 412 upcharge_title = "sapphire" stone_id = 412 upcharge_title = "ruby"
这不行:
stone_id = 412 upcharge_title = "sapphire" stone_id = 412 upcharge_title = "sapphire"
是否有一个查询,将在两个字段中找到重复项?如果可能的话,是否有办法将我的数据库设置为不允许这样做?
我正在使用MySQL 4.1.22版
您应该在两个字段之间设置一个复合键。每行需要一个唯一的stone_id和upcharge_title。
至于找到现有重复项,请尝试以下操作:
select stone_id, upcharge_title, count(*) from your_table group by stone_id, upcharge_title having count(*) > 1