Задать вопрос

Почему не добавляется ForeignKey в миграции?

Делаю миграцию в MySQL в yii2
Код миграции:
$this->addColumn('{{%trainer}}', 'studio_id', $this->integer()->notNull());
$this->addForeignKey('fk-trainer-studio', '{{%trainer}}', 'studio_id', '{{%studio}}', 'id', 'CASCADE', 'RESTRICT');


Ругается на целостность данных. Таблица `studio` есть, вообще взял аналогичный код из другой миграции
Ошибка:
add foreign key fk-trainer-studio: {{%trainer}} (studio_id) references {{%studio}} (id) ...Exception: 
SQLSTATE[23000]: Integrity constraint violation: 1452 
Cannot add or update a child row: a foreign key constraint fails 
(`db`.`#sql-6cb_105`, CONSTRAINT `fk-trainer-studio` FOREIGN KEY (`studio_id`) REFERENCES `studio` (`id`) ON DELETE CASCADE)
  • Вопрос задан
  • 174 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Progtips
    Программирование на PHP и MySQL
    2 месяца
    Далее
  • beONmax
    Профессия Веб программист - Быстрый старт
    4 месяца
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
Решения вопроса 1
qonand
@qonand
Software Engineer
скорее всего в таблице в которую Вы хотите добавить внешний ключ есть данные которые ссылаются на не существующие записи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы