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

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

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