使用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