Не получается добавить foreign key

143
17 декабря 2020, 05:00

Не добавляется foreing key. Проверил столбцы на null,таблицы пустые,типы подходят,длина тоже Уже не знаю что делать,завтра курсовая. Пытаюсь связать prepodName(child) с pr_Fam(parent) Вот дочерняя таблица

 SHOW CREATE TABLE catec.group
CREATE TABLE `group` (
   `idGroup` int(11) NOT NULL AUTO_INCREMENT,
   `Group_Name` varchar(50) DEFAULT NULL,
   `qualif_Kod` int(11) DEFAULT NULL,
   `prepodName` varchar(100) DEFAULT NULL COMMENT 'Имя препода-куратора\n',
   PRIMARY KEY (`idGroup`),
   KEY `fk_qKod_idx` (`qualif_Kod`),
   CONSTRAINT `fk_qKod` FOREIGN KEY (`qualif_Kod`) REFERENCES `qualif` (`qualif_Kod`) ON DELETE NO ACTION ON UPDATE CASCADE
 ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8

Вот родительская таблица

SHOW CREATE TABLE catec.prepod
CREATE TABLE `prepod` (
   `id_prepod` int(11) NOT NULL AUTO_INCREMENT,
   `pr_fam` varchar(100) NOT NULL DEFAULT '',
   `pr_name` varchar(100) DEFAULT NULL,
   `pr_otch` varchar(100) DEFAULT NULL,
   `pr_IIN` bigint(12) DEFAULT NULL,
   `pr_gender` char(1) DEFAULT NULL,
   `pr_DR` date DEFAULT NULL,
   `pr_Email` varchar(100) DEFAULT NULL,
   `pr_YazObuch` varchar(100) DEFAULT NULL,
   `pr_Grajd` varchar(100) DEFAULT NULL,
   `pr_Kateg` varchar(100) DEFAULT NULL,
   `pr_Natsiya` varchar(100) DEFAULT NULL,
   `pr_Tel` varchar(20) DEFAULT NULL,
   `pr_SubName` varchar(100) DEFAULT NULL,
   `pr_Kurat` char(3) DEFAULT NULL COMMENT 'Кураторство:Да,Нет\n',
   PRIMARY KEY (`id_prepod`,`pr_fam`)
 ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COMMENT='для преподавателей'

Вот и результат

Executing:
ALTER TABLE `catec`.`group` 
ADD INDEX `fk_prepod_Fam_idx` (`prepodName` ASC);
ALTER TABLE `catec`.`group` 
ADD CONSTRAINT `fk_prepod_Fam`
  FOREIGN KEY (`prepodName`)
  REFERENCES `catec`.`prepod` (`pr_fam`)
  ON DELETE SET NULL
  ON UPDATE CASCADE;
Operation failed: There was an error while applying the SQL script to the database.
ERROR 1215: Cannot add foreign key constraint
SQL Statement:
ALTER TABLE `catec`.`group` 
ADD CONSTRAINT `fk_prepod_Fam`
  FOREIGN KEY (`prepodName`)
  REFERENCES `catec`.`prepod` (`pr_fam`)
  ON DELETE SET NULL
  ON UPDATE CASCADE

Также,при команде SHOW engine InnoDB status выдает следующее:

Cannot find an index in the referenced table where the
 referenced columns appear as the first columns, or column types
 in the table and the referenced table do not match for constraint.
 Note that the internal storage type of ENUM and SET changed in
 tables created with >= InnoDB-4.1.12, and such columns in old tables
 cannot be referenced by such columns in new tables.
READ ALSO
Отсутствует файл error log

Отсутствует файл error log

На хостинге(cpanel) в диспетчере почему-то отсутствует файл error log, можно как-то настроить его отображение? добавление в начале проблемного скрипта...

117
Не выводит изображение Laravel

Не выводит изображение Laravel

Не выводит изображение в blade шаблонеВсе остальное отображается корректно

144
Подготовка запроса к базе данных

Подготовка запроса к базе данных

Данный код получает 20 сообщений с чатаКак получить 20 сообщений с непустым imgUrl?

100