2015-06-22 2 views
1

Я получаю ошибку 1553 каждый раз, когда хочу обновить свою базу данных с консоли. Это ошибка:Symfony2 1553 mysql error fixind

Общая ошибка: 1553 Невозможно отказаться от индекса 'idPartner': требуется ограничение внешнего ключа.

Так как я прочитал другие вопросы SO, я обнаружил, что мне нужно сбросить внешний ключ и создать его снова? Поэтому я сбросил его вот так:

ALTER TABLE bet DROP FOREIGN KEY idPartner ; 

После этого я теряю все данные заграничных таблиц (и мне это нужно). Однако я не получаю ошибку.

Таким образом, после падения я хочу, чтобы создать ключ иностранных отношений снова так что я:

ALTER TABLE `bet` ADD CONSTRAINT `idPartner` FOREIGN KEY (`idPartner`) REFERENCES `lottery`.`partner`(`idPartner`) ON DELETE NO ACTION ON UPDATE NO ACTION; 

Aaaand я получаю ту же ошибку снова ... Что я могу сделать?

Запросов:

$php app/console doctrine:schema:update --force 
Updating database schema... 

[Doctrine\DBAL\DBALException] 
An exception occured while executing 'DROP INDEX idPartner ON bet': 
SQLSTATE[HY000]: General error: 1553 Cannot drop index 'idPartner': needed in a foreign key constraint 

[PDOException] 
SQLSTATE[HY000]: General error: 1553 Cannot drop index 'idPartner': needed in a foreign key constraint 

ответ

0
ON DELETE NO ACTION ON UPDATE NO ACTION; 

Они должны быть за то, что вам нужно, вы можете прочитать здесь:

http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

When an UPDATE or DELETE operation affects a key value in the parent table that has matching rows in the child table, the result depends on the referential action specified using ON UPDATE and ON DELETE subclauses of the FOREIGN KEY clause. MySQL supports five options regarding the action to be taken, listed here:

CASCADE: Delete or update the row from the parent table, and automatically delete or update the matching rows in the child table. Both ON DELETE CASCADE and ON UPDATE CASCADE are supported. Between two tables, do not define several ON UPDATE CASCADE clauses that act on the same column in the parent table or in the child table.

+0

Спасибо за ваш ответ! Да, я внес изменения, в соответствии с документацией и моими потребностями, но я все еще получаю ошибку. Я не думаю, что это проблема ... – Dominykas55

+0

вы можете отредактировать свое сообщение и показать запрос, который вы используете, тот, который дает вам ошибки –

+0

Обновлено мое сообщение! – Dominykas55