2016-03-16 3 views
0

Я не был уверен, что это может быть сделано в ограничении CHECK или если для этого требуется хранимая процедура для проверки во время вставки, но может быть создано ограничение, чтобы разрешить только X количество дубликатов в столбце, где X> 1?CHECK Constraint для разрешения X дубликатов в столбце

Что-то вдоль линий:

CONSTRAINT limiter_chk CHECK (SELECT COUNT(Id) AS Ct FROM Mytable WHERE Id = Id AND Count < 50) 

Я понимаю, чем выше не является допустимым, но просто пытается показать тип ограничения я описываю.

+1

В настоящее время MySQL [анализирует, но игнорирует] (http://stackoverflow.com/q/2115497/3404097) Ограничения CHECK. Большинство СУБД разрешают [только столбцы таблицы в состоянии в ограничении CHECK] (http://stackoverflow.com/q/6195881/3404097). – philipxy

+0

Недавно узнал, что MySQL игнорирует ограничения CHECK (вскоре после того, как я разместил это сообщение). Это неудачно. – JNYRanger

ответ

1

Бизнес-логика должна быть в приложении, а не в базе данных.

Однако, возможно, вы можете написать TRIGGER, чтобы сделать то, о чем вы просите.

+0

У меня было чувство, что это был ответ, но он не нашел ничего определенного в Интернете. Спасибо за подтверждение. – JNYRanger

 Смежные вопросы

  • Нет связанных вопросов^_^