MySQL约束最大重复值

  • 本文关键字:约束 MySQL mysql
  • 更新时间 :
  • 英文 :


使用UNIQUE约束,我可以确保在表上的特定字段中不输入重复值。是否有一种仅允许一定数量的重复项的方法?例如,如果可能将最大重复值限制为2,则对于字段animal,我可以有2行,而animal字段的值为frog,但是任何进一步尝试使用animal字段设置为frog将失败。

我知道我可能在这里表现出令人尴尬的数据归一化技能。我也感谢有关解决方法的任何建议。

谢谢!

您可以使用触发器实现此目标。

https://dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html

mySQL触发以防止在某些条件下插入

尝试以下:

INSERT INTO `table` (`animal`) SELECT 'frog' FROM 
`table` WHERE `animal` = 'frog' HAVING 
COUNT(`animal`) < 4

最新更新