Mysql 对多组相同数据强制执行唯一性?

Mysql 对多组相同数据强制执行唯一性?,mysql,Mysql,我想做的是: a、 b-有效。 a、 b-有效。 a、 c-无效 f、 b-无效 因此,这意味着数据库将允许相同的值组合多次存在,但不允许任何其他组合使用这些值。因此,它就像一个独特的组合集。我的用例是我在表中有一个组id和组名称。我不想让人把组名弄乱为一个ID。因此,如果2的第一个ID的组名为“apple”,那么所有带有2的ID都必须是“apple”,如果输入了“banana”,则应该抛出错误 一种方法是我使用第二个表并规范化数据,但我不能在这里这样做,需要使用它去规范化。那么,有没有强制执行

我想做的是:

a、 b-有效。
a、 b-有效。
a、 c-无效
f、 b-无效

因此,这意味着数据库将允许相同的值组合多次存在,但不允许任何其他组合使用这些值。因此,它就像一个独特的组合集。我的用例是我在表中有一个组id和组名称。我不想让人把组名弄乱为一个ID。因此,如果2的第一个ID的组名为“apple”,那么所有带有2的ID都必须是“apple”,如果输入了“banana”,则应该抛出错误

一种方法是我使用第二个表并规范化数据,但我不能在这里这样做,需要使用它去规范化。那么,有没有强制执行这项检查


谢谢

可能在插入和更新触发器期间进行验证。

我考虑过这一点,但不确定如何将组id链接到触发器或previus值。我想到的最好方法是在插入或更新之前:“对于每一行,开始设置NEW.group\u name=OLD。
group\u name
。但这只适用于设置旧值,而不是previus group\u id值。