yii2, пытаюсь сделать миграцию для добавления внешнего ключа:
$this->addForeignKey(
'fk-subordination-sub_id',
'subordination',
'sub_id',
'storage',
'id',
'CASCADE'
);
возвращает ошибку:
Exception: SQLSTATE[23000]:
Integrity constraint violation:
1452 Cannot add or update a child row: a foreign key constraint fails
(`images`.`#sql-5a0_1f3`, CONSTRAINT `fk-subordination-sub_id` FOREIGN KEY (`sub_id`) REFERENCES `storage` (`id`) ON DELETE CASCADE)
однако, если добавляю другой ключ:
$this->addForeignKey(
'fk-subordination-sub_id',
'subordination',
'sub_id',
'user',
'id',
'CASCADE'
);
то все работает нормально. все ключи int(11), отличий в создании не было (кроме создания pk), создавал так же через миграции:
subordination:
$this->createTable('subordination', [
'chief_id' => $this->integer(11),
'sub_id' => $this->integer(11),
]);
$this->addColumn('subordination', 'id', $this->primaryKey());
storage:
$this->createTable('storage', [
'id' => $this->primaryKey(),
'name' => $this->string(),
'photograph_id' => $this->integer(11)
])
в чем может быть проблема? mariaDB
1452 Cannot add or update a child row: a foreign key constraint fails
Невозможно добавить ограничение внешнего ключа, потому что оно сбойнёт. Другими словами - в таблицах уже имеются данные, которые не соответствуют создаваемому ключу и будут вызывать ошибку целостности.
Так что сначала "выровняйте" данные, а потом создавайте внешний ключ.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть ID записи $clients_id Пустой массив который должен запонлится ID-шниками вложенных записей $listId
Не могу найти в доках и гугле - как получить время 5, 10, 20 или 30 минут назад?
Всем приветПишу API на Laravel, использую пакет tymon/jwt-auth
Не могу поднять проект после "смерти сервака" Вылетает ошибка через WEB (You don't have permission to access /php-bin/php/indexphp on this server