Я не был уверен, что это может быть сделано в ограничении CHECK
или если для этого требуется хранимая процедура для проверки во время вставки, но может быть создано ограничение, чтобы разрешить только X количество дубликатов в столбце, где X> 1?CHECK Constraint для разрешения X дубликатов в столбце
Что-то вдоль линий:
CONSTRAINT limiter_chk CHECK (SELECT COUNT(Id) AS Ct FROM Mytable WHERE Id = Id AND Count < 50)
Я понимаю, чем выше не является допустимым, но просто пытается показать тип ограничения я описываю.
В настоящее время MySQL [анализирует, но игнорирует] (http://stackoverflow.com/q/2115497/3404097) Ограничения CHECK. Большинство СУБД разрешают [только столбцы таблицы в состоянии в ограничении CHECK] (http://stackoverflow.com/q/6195881/3404097). – philipxy
Недавно узнал, что MySQL игнорирует ограничения CHECK (вскоре после того, как я разместил это сообщение). Это неудачно. – JNYRanger