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

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

Войти через центр авторизации
Похожие вопросы