У меня есть следующий код, и я хочу создать внешнюю ссылку между столбцами, называемыми «tipo»:
CREATE TABLE IF NOT EXISTS preferencias(
DNIusuario VARCHAR(9) NOT NULL,
tipo ENUM("Paseo", "Gastronomia", "Deporte interior", "Deporte exterior", "Cultura", "Arte", "Naturaleza", "Cine", "Musica", "Fiesta", "Terraceo", "Compras") NOT NULL,
obligatoria BIT,
ultimaactividad DATE,
PRIMARY KEY(DNIusuario,tipo),
FOREIGN KEY (DNIusuario) REFERENCES registros(DNI)
);
CREATE TABLE IF NOT EXISTS citas(
IDcita INT AUTO_INCREMENT PRIMARY KEY,
fechacita DATE,
lugarcita VARCHAR(25),
tipo ENUM("Paseo", "Gastronomia", "Deporte interior", "Deporte exterior", "Cultura", "Arte", "Naturaleza", "Cine", "Musica", "Fiesta", "Terraceo", "Compras") NOT NULL,
resultado SET("1","2","3","4","5"),
FOREIGN KEY (tipo) REFERENCES preferencias(tipo)
);
При создании таблиц по отдельности (без ограничения внешнего ключа) они работают просто хорошо. Все мои зарубежные ссылки в этой базе данных тоже работают нормально. Однако при попытке создать ограничение внешнего ключа для значений типа ENUM я получаю следующее сообщение об ошибке:
ОШИБКА 1215 (HY000): Невозможно добавить ограничение внешнего ключа
Итак, мои дорогие друзья ... что делать?