Задать вопрос
Maksclub
@Maksclub
maksfedorov.ru

Почему не добавляется 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)
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
qonand
@qonand
Software Engineer
скорее всего в таблице в которую Вы хотите добавить внешний ключ есть данные которые ссылаются на не существующие записи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
25 дек. 2024, в 08:00
20000 руб./за проект
25 дек. 2024, в 07:53
20000 руб./за проект
25 дек. 2024, в 07:45
20000 руб./за проект