У меня проблемы с этой таблицей
CREATE TABLE `Participants` (
`meetid` int(11) NOT NULL,
`pid` varchar(15) NOT NULL,
`status` char(1) DEFAULT NULL,
PRIMARY KEY (`meetid`,`pid`),
CONSTRAINT `participants_ibfk_1` FOREIGN KEY (`meetid`) REFERENCES `Meetings` (`meetid`) ON DELETE CASCADE
CONSTRAINT `participants_ibfk_2` CHECK (status IN ('a','d','u'))
CONSTRAINT `participants_ibfk_3` CHECK (pid IN (SELECT name FROM Rooms) OR pid IN (SELECT userid FROM People))
);
Я хочу иметь ограничение внешнего ключа, и это работает. Затем я также хочу добавить ограничение к атрибуту status
, поэтому он может принимать только значения «a», «d» и «u». Я не могу установить поле как Enum
или set
.
Кто-нибудь может сказать мне, почему этот код не работает в MySQL?