У меня есть таблица «комментарии», содержащая базовое поле «id» «auto-inc PK», а также поле «тип». В других таблицах я хочу иметь ссылочную целостность, применяя CONSTRAINT к comments.id И ТАКЖЕ «тип», используя фиксированное значение для значения типа.Ограничение MySQL с использованием фиксированного «жестко закодированного» значения - возможно ли это?
Пример: в таблице «question_comments_rate», я хочу, чтобы «comment_id» существовал как поле «id» в таблице «комментарии» [это простая часть] И ТАКЖЕ, что столбец «type» равен « вопрос".
Есть ли это? Как я могу написать это объявление ограничения?
Это как «условное ограничение» - не только поле «comment_id» должно существовать как «comments.id», но и этот «id» в таблице «comments» должен иметь строку, где «type» is равный «вопрос» (или другое указанное значение) ...
Надеюсь, что проблема ясна. Я могу сделать это более ясным с вашей помощью/обратной связью. Благодарю.
Спасибо, eggyal. Я видел (и подтвердил) ваш ответ, как только он появился ... Я жду, чтобы увидеть, есть ли у кого-то другая идея, но кажется, что это просто невозможно ... Моя колонка «Тип» должна быть способна принимать другие значения, а не только «вопрос» ... Кажется, я буду делать эту проверку на уровне PHP - это серверный язык, который я использую в этом случае. –
Если значения, которые 'type' могут содержать, перечислимы (то есть вы можете перечислить их все), вы можете (действительно, * should *) по-прежнему использовать' ENUM': например. 'ENUM ('вопрос', 'ответ', 'комментарий', 'Wibble');'. – eggyal
@ J.Bruni: Вы видели мой комментарий выше? – eggyal