MySQL ОБНОВЛЕНИЕ КАСКАДА с самореференцией - PullRequest
1 голос
/ 23 мая 2011

Согласно http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html

В случае ОБНОВЛЕНИЯ КАСКАДА или ОБНОВЛЕНИЯ NULL рекурсивно обновляет ту же таблицу ранее обновлено во время каскад, он действует как ОГРАНИЧЕНИЕ

Мое прочтение означает, что по крайней мере одно каскадное обновление должно быть разрешено, и после этого любые дальнейшие обновления должны быть ОГРАНИЧЕНЫ. Это не относится к самореферентной таблице. Обновления не выполняются, выдается только эта ошибка:

ERROR 1451 (23000) at line 1: Cannot delete or update a parent row: a foreign key constraint fails ('temp'.'tableA', CONSTRAINT 'FK5E61277C3139BCA6' FOREIGN KEY ('foreign_key_id') REFERENCES 'tableA' ('id') ON UPDATE CASCADE)

Согласны ли вы с этим? Почему это так?

...